페이지별 기능 설명
1. 홈 페이지
- 태그 기반 짤 검색
- 추천 짤 보여주기
2. 업로드한 짤 페이지
- 사용자가 업로드한 사진을 관리
- 태그 필터링 기능 제공
- 사진 클릭 시 상세페이지로 이동
3. 짤 상세페이지
- 좋아요, 다운로드, 폴더 저장, 신고하기 기능
- 추후 결정 사항
- 모달 vs 페이지
- 메인페이지 리스트 사진 사이즈와 상세 페이지 사진 사이즈 설정 구체화 필요
4. 짤 폴더 페이지
- 좋아요 페이지는 따로 만들 예정
- 사용자가 폴더 설정 및 저장 가능
- 임시 저장 기능
- 폴더 상세 페이지와 통합
- 태그 필터링 기능
- 이동 삭제 가능(Toolbar)
5. 짤 업로드 페이지
- 사진 : 태그 = 1 : N
- 업로드 할 때 폴더 위치 선택 옵션 제공
6. 짤 사진 정책
- Width 고정 후 height만 변화 (Ratio)
- 열 단위로 렌더링
- Hover 후 좋아요, 다운로드 바로 가능
논의 사항
1. 폴더 관련
- 폴더 저장할 때 ui 구성 필요
- 구글 드라이브처럼 리스트 렌더링 후 클릭하면 이동하게 하면 좋을 것 같다.
2. 짤을 저장할 때 새폴더를 만들 수 있게 할 것인가
- 저장할 때 바로 폴더 추가 가능하도록 하는게 좋을 것 같다.
- 임시 이름을 제공하기 보단
- 사용자가 바로 이름을 지정할 수 있도록 하자
3. 초기 제공 폴더
- 무조건 처음에 폴더 하나는 제공된다.
- 제목없음 폴더 보다는 날짜나 모든 사진이라는 폴더가 유저 입장에서 좋을 것 같다.
- ‘모든 사진’이라는 폴더를 제공하는 것 대신에
- 짤 임시저장 기능을 제공하자
4. 짤을 여러 폴더에 넣을 수 있는가
- 폴더 아이디를 여러 개 받게 되면 사진 컬럼에 매핑 폴더의 폴더 아이디를 넣기 어려워진다.
- 스프링으로 구현하기 어려울 수 있음
- 중간에 매핑 테이블을 사용하여 다대다 관계를 관리할 수 있지만, 쉽지 않음
- 구현 자체에 문제될 부분은 없는데 꼭 필요한지는 의문
- 단일 폴더 저장으로 결정
5. 폴더 리스트, 폴더 짤 페이지 통합하자
- 페이지 분리 시 사용자가 이동하는 경로가 너무 많아져 불편할 것 같다.
- 웹에서 버거바를 통한 접근은 좋지 않다. 화면이 작아지는 경우 활용하는게 맞는 거 같다.
- 백엔드 입장에서 문제될 부분은 없다.
- 왼쪽 리스트, 오른쪽 폴더별 짤 렌더링 화면으로 고정
- 폴더 리스트, 폴더 짤 페이지 통합
6. 태그 기능
- 태그를 통해 짤 리스트 필터링 제공 (태그와 일치하는 짤만 렌더링)
- 짤에 맞게 최대 10개의 태그 선정 후 제공
- 제공된 태그에 해당하지 않는 짤 → 기타 태그를 통해 제공
- 백엔드에서 필터링된 데이터 제공 (프론트 딴에서 처리 시 성능 이슈 발생 예상)
- 태그는 토글 방식 (선택한 태그가 없을 시 전체 보기 적용)
- 추후 정렬기능을 추가 가능, 하지만 후순위
7.검색 기능
- 같은 짤이어도 사람마다 다르게 검색할 수 있다.
- 따라서 태그를 통한 검색시에 다양성이 줄고 제한적인 부분이 많아진다.
- 현재 짤을 업로드 할 때 제공되는 데이터가 태그 밖에 없다.
- 검색기능을 다양화하기 위해서는 태그 외에 제목과 같은 정보를 추가적으로 받아야한다.
- ai를 넣지 않는 이상 수동적으로 처리해야하는 부분이다.
8. 신고 기능
- 사이트 변질의 위험이 있어 필수 기능이라고 생각한다.
- 관리자 페이지를 따로 두기 보단 신고가 누적되면 자동 삭제되는 로직을 추가하는 건 어떤가
- 백엔드 : 스케줄러 신뢰성 및 예외처리에 대한 고려가 필요
- 시스템 부하는 없지만 스케줄러 자체 기능이 신뢰성이 낮음
- 예외처리가 다 어렵고, 실제 서비스에서는 사용하지 않음
- 예외처리를 위해 두 개의 프로젝트로 나누는 것이 가능
- S3, DB 데이터 충돌의 위험이 있음
- 작업량 증가와 배포 작업 난이도 등을 고려하여 결정 필요
- 프론트엔드 : 관리자 페이지 UI가 안되더라도 기능만 구현하는 방향으로 진행
- 신고 3회 이상일 때 관리자 확인 후 삭제
추가 사항
- 백엔드 v1에서 2주 스케줄에 맞춰 프론트엔드 스케줄링 예정