1. 프로젝트 개요
- 프로젝트 명: 고양이 사진 자랑 커뮤니티 앱
- 개발 목적: 고양이 사진을 자랑하고, 고양이 팬들이 모여 서로 소통할 수 있는 간단한 커뮤니티를 구축하기 위해.
- 주요 기능: 회원가입 및 로그인, 회원정보 관리, 게시글 관리, 댓글 작성, 좋아요 기능, 태그 검색.
2. 시스템 구조
- 클라이언트: 사용자가 앱에서 사진을 업로드하고, 게시글을 관리하며, 다른 사용자와 소통하는 인터페이스.
- 서버: 사용자 인증, 게시글 및 댓글 관리, 데이터 저장, 검색 기능을 지원.
- 데이터베이스: 사용자, 게시글, 댓글, 태그 및 좋아요 데이터를 저장하고 관리.
3. 요구사항 정의
3.1 회원 기능
요구사항 ID요구사항 명설명
USER-01 | 회원가입 | 사용자는 이메일, 비밀번호, 닉네임을 입력하여 회원가입을 할 수 있다. |
USER-02 | 로그인 | 사용자는 이메일과 비밀번호를 입력하여 로그인할 수 있다. |
USER-03 | 비밀번호 재설정 | 사용자가 비밀번호를 분실했을 때, 이메일을 통해 재설정할 수 있다. |
USER-04 | 프로필 관리 | 사용자는 자신의 닉네임, 프로필 사진, 고양이 정보를 수정할 수 있다. |
USER-05 | 비밀번호 변경 | 사용자는 현재 비밀번호를 확인 후, 새 비밀번호로 변경할 수 있다. |
USER-06 | 회원 탈퇴 | 사용자는 계정을 삭제할 수 있으며, 계정 삭제 시 게시글과 댓글을 함께 삭제할지 선택할 수 있다. |
3.2 게시글 기능
요구사항 ID요구사항 명설명
POST-01 | 게시글 작성 | 사용자는 고양이 사진과 함께 설명을 입력하여 게시글을 작성할 수 있다. 게시글에는 최대 5개의 태그를 추가할 수 있다. |
POST-02 | 게시글 수정 | 사용자는 본인이 작성한 게시글의 사진과 설명을 수정할 수 있다. |
POST-03 | 게시글 삭제 | 사용자는 본인이 작성한 게시글을 삭제할 수 있다. |
3.3 댓글 기능
요구사항 ID요구사항 명설명
COMMENT-01 | 댓글 작성 | 사용자는 게시글에 댓글을 작성할 수 있다. |
COMMENT-02 | 댓글 수정 | 사용자는 본인이 작성한 댓글을 수정할 수 있다. |
COMMENT-03 | 댓글 삭제 | 사용자는 본인이 작성한 댓글을 삭제할 수 있다. |
3.4 좋아요 기능
요구사항 ID요구사항 명설명
LIKE-01 | 좋아요 추가 및 취소 | 사용자는 게시글에 좋아요를 추가하거나 취소할 수 있다. |
LIKE-02 | 좋아요 수 표시 | 각 게시글에 좋아요 수가 표시된다. |
3.5 검색 기능
요구사항 ID요구사항 명설명
SEARCH-01 | 태그 검색 | 사용자는 특정 태그를 검색하여 해당 태그가 포함된 게시글 목록을 조회할 수 있다. |
4. 비기능 요구사항
4.1 보안
- 비밀번호 암호화: 사용자의 비밀번호는 암호화하여 저장한다.
- 세션 관리: 사용자 로그인 시 세션 또는 토큰 기반 인증을 통해 사용자 정보를 보호한다.
4.2 성능
- 게시글 및 태그 검색 최적화: 태그 검색 시 데이터베이스 인덱싱을 활용하여 빠른 검색 속도를 제공한다.
4.3 사용자 경험
- 반응형 디자인: 모바일과 데스크톱 환경 모두에 최적화된 UI 제공.
- 알림 기능 (선택사항): 댓글, 좋아요 발생 시 사용자에게 앱 내 알림을 통해 알려준다.
5. 데이터 구조 (예시)
- User: 사용자 정보(이메일, 비밀번호, 닉네임, 프로필 사진 등)
- Post: 게시글 정보(작성자, 사진, 설명, 태그, 좋아요 수 등)
- Comment: 댓글 정보(게시글 ID, 작성자, 댓글 내용)
- Like: 좋아요 정보(게시글 ID, 사용자 ID)
- Tag: 태그 정보 및 게시글 연관성
6. 기대 효과
- 간단한 커뮤니티 앱을 통해 고양이 팬들이 고양이 사진을 자랑하고 소통할 수 있는 플랫폼 제공.
- 회원가입과 로그인, 게시글 관리 등 기본적인 웹 애플리케이션 개발에 대한 포트폴리오로 활용.
'사이드 프로젝트 > Anytime Nyang' 카테고리의 다른 글
[Spring project] 기술스택 정리 (1) | 2024.10.27 |
---|