728x90
Java 관통 프로젝트: 영상 관리 프로그램
개발 기간 2023/08/04
개발 인원 2명
첫 프로젝트를 했다!! json 데이터를 바탕으로 영상 목록을 보여주고, 메뉴를 선택하면 댓글과 구체적인 정보를 보여 주는 것이다. java 에서 배운 것을 기반으로 하는 프로젝트였기 때문에 ui는 console 창에서 간단히 구현했다.
프로젝트 개요
- 비디오 및 해당 비디오 리뷰 관리
- 회원가입 유저 목록 관리
프로젝트 목표
- MVC 패턴 기반 프로그램 구현
- 싱글톤 기반 데이터 관리 메서드 구현
- json 파일 데이터 자료 구조에 담기 및 관리
구현 과정
- 우리는 Github 저장소를 만들고, 각자 브랜치에 푸시하고, 병합하며 작업을 진행했다. VSCode를 이용할 땐 충돌이 발생할 경우 화면에서 바로 해결할 수 있어서 편리했는데, java는 충돌 해결이 쉽지 않을 것 같아 각자 맡은 파일 외에는 수정하지 않기로 했다.
- 속도가 빠른 편이라 각자 브랜치를 만들어 작업하기 잘한 것 같다.
- 먼저 주어진 명세를 보고 파일마다 어떤 기능을 요구하는지 파악했다. 가장 먼저 기능을 담당하는 클래스들부터 만들고, 이후 확인하는 방식으로 진행했다.
- 심화 기능까지 구현할 것을 고려해 user 관리 폴더와 해당 json 파일도 생성했다.
- 기능을 모두 구현한 후 main에서 UI를 구현했다. 웹 페이지가 아니다 보니 유저 입장에서 프로그램의 흐름이 어떻게 흘러가는지 생각하는 것이 어려웠다. 로그인 상태를 파악하고, 로그인되면 본 서비스로 넘어가는 로직으로 만들었다.
- 마지막에 확인하면서 보니 리뷰를 저장할 때 문제가 있었다. 리뷰를 동영상 아이디를 key로 하는 Map으로 만들었는데, json 에서 받아올 때는 문제가 없지만 쓸 때 새로운 리뷰를 담은 자료가 중복으로 들어가서 오류가 났다.
- 1번 동영상에 1-1 댓글이 있었는데, 1-2 댓글을 추가하면 json에 1+1-1 , 1+1-1, 1-2 가 추가된 식. Review 인스턴스를 활용해서 데이터 관리를 하라는 거였다….
느낀 점
java 프로젝트 구조에 대해 조금 더 알 수 있었고, 개발 방법론에서 MVC의 개념을 알게 되었다! 역시나 콘솔에서 user 사용 흐름에 맞게 ui 로직을 구성하는 것은 어려웠다. 회원가입 -> 로그인 -> 영상 목록 -> 영상 선택...
json 파일을 쓰고 읽어오는 것이 어려웠지만 언젠가 해야 하는 마음의 숙제로 가지고 있었기 때문에 직접 해 볼 수 있는 기회였다.
더 해볼만한 것
영상 detail 화면에서 getUrl 메소드를 활용하여 링크에 해당하는 인터넷 창을 띄워 동영상을 보여주는 기능 추가
프로젝트 구조 및 기능 구현 화면
로그인, 회원가입 기능
유저 관리
영상 목록 조회
리뷰 관리
728x90
'개발 일기 > SSAFY 10th' 카테고리의 다른 글
SSAFYcial 인터뷰 (0) | 2023.12.04 |
---|---|
SSAFY 1학기를 돌아보며 (3) | 2023.11.01 |
Front 관통 프로젝트 회고 (0) | 2023.08.15 |
삼성 청년 소프트웨어 아카데미 SSAFY 10기 합격과 교육 시작 (3) | 2023.07.04 |