📋 개요1. 프로젝트 주제 2. 기획 배경 및 동기3. 타겟 사용자4. 주요 기능5. 기대 효과6. 기술 스택공통프론트엔드백엔드개발협업배포와이어프레임Use Case페이지 우선순위메인페이지상세 페이지감상평 작성 페이지검색 결과 페이지마이페이지커뮤니티 페이지로그인 페이지회원가입 페이지데이터
📋 개요
1. 프로젝트 주제
- 아트집 (ArtZip)
- 미술 전시회를 조회하고 후기를 작성 및 공유할 수 있는 서비스
2. 기획 배경 및 동기
- 평소에 전시회에 가고 싶었지만, 어떤 전시회가 열리는지 잘 알지 못하는 사람이 많다. 또한 전시회에 대한 정보가 흩어져 있기 때문에 특정 전시회에 대한 정보가 아니라 비특정 다양한 전시회에 대한 정보를 알기 쉽지가 않다. 전시집에서는 특정 전시회 정보 뿐만 아니라 다양한 전시회 정보를 제공함으로써 전시회에 대한 접근성을 높힐 수 있다.
- 전시를 보고나면 그 때의 감상/기분 등을 오래 기억하고 싶지만 어디엔가 기록해두지 않으면 금방 잊어버리기 쉽다. 블로그에 기록하는 등 기록해두고 오래 기억할 수 있는 방법은 많지만 귀찮아서 하기 힘들다. 전시에 대한 감상평, 인상깊었던 작품 등을 간단하게 기록하고 그동안의 히스토리를 모아볼 수 있는 서비스가 있으면 좋겠다.
3. 타겟 사용자
- 평소에 전시회에 가고 싶었지만, 어떤 전시회가 열리는지 몰라서 가지 못했던 사람
- 전시회의 정보를 모아서 보고 싶은 사람
- 여러가지 전시회 후기를 찾아보고, 전시회에 가고 싶은 사람
- 자신의 전시회 후기를 저장 및 공유하고 싶은 사람
4. 주요 기능
- 미술 전시회에 관한 정보를 조회할 수 있다.
- 최근 전시회, 인기 있는 전시회, 주변 전시회를 조회할 수 있다.
- 전시회에 대한 후기를 작성 및 공유할 수 있다.
- 전시회에 대한 후기를 커뮤니티에서 확인 할 수 있다.
- 전시회를 시기, 장소 기반으로 검색할 수 있다.
5. 기대 효과
- 문화생활 활성화
- 전시회에 관한 정보 접근성을 높일 수 있다.
- 전시 후기를 공유함으로써 전시에 관한 사용자들의 관심을 더욱 증대할 수 있다.
6. 기술 스택
공통
- 협업:
Slack, Github, Notion
프론트엔드
- 라이브러리:
React.js
- 프레임워크:
Next.js
- 언어:
TypeScript
- 상태 관리
- 전역상태 관리 :
Recoil(동기)
-
SWR(비동기)
- API:
axios
- 스타일:
Emotion
,Antd
,figma
- 배포:
vercel
- 라이브러리 관리:
yarn
- 코드 컨벤션:
ESLint
,Prettier
- 기타:
husky
,lint-staged
백엔드
개발
- 언어:
Java
- 빌드도구:
Gradle
- 프레임워크:
Spring Boot
- ORM:
JPA
- DB 관련 라이브러리:
Spring Data JPA
,QueryDsl
- 테스팅도구:
Jacoco
,Junit5
- 데이터베이스:
H2
,MySql
,Redis
- 환경관리:
Docker
협업
- API 명세서:
Swagger
배포
- CI/CD:
Github Actions
- 인프라:
RDS
,ElasticCache
,Elastic Beanstalk
,EC2
와이어프레임
Use Case
페이지 우선순위
- ver 1 : 메인 페이지, 상세 페이지, 감상평 작성, 로그인 / 회원가입, 커뮤니티 페이지
- ver 2 : 검색 결과 페이지, 마이 페이지
메인페이지
M
- 유저는 전시회 제목, 장소, 장르, 작가 등을 기반으로 검색할 수 있다(확정 아님)
- 유저는 최신순/인기순으로 정렬된 전시/공연 정보를 볼 수 있다.
- 유저는 더보기 버튼 클릭하면 해당하는 전시회 목록을 볼 수 있는 페이지로 이동한다.
S
- 유저는 현재 위치에서 가까운 전시 / 공연 정보를 지도상으로 볼 수 있다.
상세 페이지
M
- 유저는 상세 페이지에서 전시회에 대한 상세 정보를 볼 수 있다.
- 유저는 상세 페이지에서 좋아요를 누를수 있다.
- 유저는 감상평을 확인할 수 있다.
- 유저는 감상평 더보기 버튼을 클릭하면 전제 감상평을 확인할 수 있다.
- 유저는 감상평 작성하기 버튼을 누르면 감상평을 작성하는 페이지로 이동한다.
S
- 유저는 해당 내용을 카카오톡으로 공유할 수 있다.
- 유저는 전시회 주소 복사 버튼을 누르면 클립보드에 복사할수 있다.
- 유저는 지도를 통해 해당 전시/공연의 위치를 확인할 수 있다.
감상평 작성 페이지
M
- 유저는 감상평 작성하기 페이지에서 사진과 글을 포함한 감상평을 작성해서 등록할 수 있다.
- 유저는 감상평을 작성할 때 공개/비공개 여부를 설정해야한다.
S
- 유저는 감상평에 댓글을 적을 수 있다 (대댓글 1단계까지)
- 유저는 자신이 작성한 댓글을 수정/삭제할 수 있다. (삭제시 화면 표시는 추후 결정)
검색 결과 페이지
M
- 유저는 검색 결과를 목록으로 볼 수 있다 (페이지네이션)
- 유저는 검색 결과를 클릭하면 해당 전시회 상세 페이지로 이동한다.
S
- 유저는 전시회 제목, 장소, 장르, 작가 등을 기반으로 검색할 수 있다(확정 아님)
마이페이지
M
- 유저는 자신의 정보를 확인할 수 있다. (닉네임, 프로필사진, 이메일)
- 유저가 프로필사진을 등록하지 않았을 경우 디폴트 이미지로 표시된다.
- 유저는 프로필 사진을 등록할 수 있다.
- 유저는 자신의 정보를 수정할 수 있다(닉네임, 비밀번호)
- 유저는 본인이 작성한 감상평과 좋아요를 누른 전시회/감상평을 확인할 수 있다.
- 유저는 다른 사용자의 유저 페이지를 확인할 수 있다.
- 유저는 다른 사용자의 유저 페이지에서 해당 유저가 공개로 설정하고 작성한 감상평을 확인할 수 있다
S
- 유저는 본인이 댓글을 작성한 감상평을 확인할 수 있다.
커뮤니티 페이지
M
- 유저는 커뮤니티 페이지를 통해 최신순으로 올라온 감상평을 확인할 수 있다(무한스크롤)
- 유저는 감상평을 누르면 감상평 상세 페이지로 이동할 수 있다.
- 유저는 자신이 작성한 감상평을 수정/삭제할 수 있다.
S
- 유저는 후기에서 해당 작성자 프로필을 누르면 그 유저 페이지로 이동한다.
로그인 페이지
M
- 유저는 이메일과 비밀번호를 입력하여 로그인 할 수 있다.
- 유저는 소셜로그인(카카오)을 통해 로그인 할 수 있다.
S
- 유저는 소셜로그인(카카오 외)을 통해 로그인 할 수 있다.
회원가입 페이지
M
- 유저는 자신의 정보를 입력해 회원가입을 할 수 있다.
- 이름
- 닉네임 - 닉네임 중복 확인
- 이메일
- 본인의 이메일 인증
- 프로젝트 이메일 생성
- 비밀번호 (로컬로그인)
- 전화번호
S
데이터
