-
Notifications
You must be signed in to change notification settings - Fork 27
기획서
Sungdong Jo edited this page Nov 8, 2019
·
15 revisions
Festa! (이벤트 주최 및 예약 서비스) Clone
이벤트를 손쉽게 주최하고, 등록할 수 있는 서비스입니다. 무료 / 유료 티켓을 판매하고 관리할 수 있으며 티켓을 통한 이벤트 참여 관리도 가능합니다.
Deview, FEConf 와 같이 인기가 많은 이벤트의 예약은 선착순으로 진행되며 많은 사용자들이 티켓 오픈 시간에 맞춰 접속하기 때문에, 트래픽이 순간적으로 급증하게 됩니다. 이러한 상황에서 매우 짧은 시간동안 많은 트래픽을 감당할 수 있으면서, 정해진 인원만 예약을 받을 수 있는 안정적인 서비스가 필요합니다.
- 과중한 트래픽이 몰려도 정해진 숫자만큼의 사용자만 예약되는 시스템
- 예약이 필요할 경우에만 서버의 개수가 늘어나는 Scheduled Scaling 시스템
- 호스트 페이지에서 이벤트의 통계 및 현황 시각화
- 재사용 가능한 UI Component 개발
- Storybook + Cypress 를 이용한 Bulletproof 컴포넌트 작성 (test coverage > 80%)
- OAuth(Google)를 이용해서 로그인을 할 수 있다.
- 첫 로그인 시, 회원가입을 진행한다.
- 이름, 전화번호 입력
- 로그아웃을 할 수 있다.
- 예약 완료된 이벤트를 조회할 수 있다.
- 다가오는 이벤트의 티켓을 modal 형식으로 보여준다.
- 현재 예약 가능한 가장 가까운 이벤트들을 grid 형식으로 보여준다 무한 스크롤이 가능하며, 스크롤을 할 때마다 이벤트들이 추가된다.
- 각각의 이벤트는 이미지와 제목, 이벤트 날짜, 내용과 가격정보를 보여주며 클릭시 이벤트의 상세정보를 조회할 수 있다.
- 상단에는 이벤트를 생성할 수 있는 버튼이 있다.
- 이벤트에 대한 상세한 내용을 조회할 수 있다.
- 티켓의 좌석 점유 현황이 실시간으로 새로고침 없이 표시된다. (optional)
- 이벤트 주최 장소가 (네이버) 지도로 표시된다.
- 이미지와 이벤트 상세 내용, 제목, 열리는 날짜 등의 입력한 모든 내용을 보여준다.
- 이벤트를 등록할 수 있다.
- 공개여부
- 대표이미지
- 제목
- 날짜 및 시간
- 장소 / 상세주소(네이버 지도) / 장소설명
- 내용(에디터)
- 티켓
- 이름
- 설명
- 가격
- 수량 / 수량숨김여부
- 1인당 구매 가능 개수
- 판매 기간
- 환불 마감 날짜
- 구매할 티켓 내용이 보여진다.
- 실제 결제는 이루어지지 않음
- 주최자의 정보를 보여준다.
- 프로필 사진과 테마 이미지, 상세정보와 현재까지 개최했던 이벤트에 대해 보여준다.
- 우측 상단의 내 이름을 눌렀을 때 접근이 가능하다.
- 내 티켓, (나의) 호스트, 프로필 상세정보(수정가능), 주최한 이벤트 내용을 보여줌
- 상단의 탭 형태의 디자인이며 각각을 누를때마다 다른 기능을 보여준다.
- 참석자의 출석을 조회하고 체크할 수 있다.
- 참석자에게 이메일을 발송할 수 있다. (이건 옵션이 좋을 것 같아요.)
- 이벤트의 내용(날짜, 제목, 공개여부, 이미지, 주소, 설명)을 수정할 수 있다.
- 티켓 정보를 수정할 수 있다.(티켓 이름/유형, 설명, 수량, 가격, 수량 숨김 표시)
- 통계자료 추가
- 사용자가 이벤트를 조회한 시간의 분포 (그래프)
- 이벤트 알림 설정한 사용자들의 현황 (number) - Service Worker
- 수요예측 가능(알림 설정한 사람들에 대한 데이터 시각화)
- 남아있는 티켓의 양 (number) / 총 매출 (number)
- 시간당 이벤트 티켓 판매 현황 (그래프)
- 체크인에 대한 시간 분포 (그래프)
- (optional) 사용자의 추가 정보(연령대, 관심사 등)를 이용한 통계
Language : Typescript (Airbnb style)
Front-end : React, Styled Component, Storybook
Back-end : Node.js, Express
Test : Jest, Cypress, Supertest, nGrinder, Codecov
DevOps : Travis CI → Docker → Kubernetes || ncloud
API Documentation Tool : Swagger
실용적인 리액트 테스트 전략
DevOps
Infra Structure
컴포넌트 작성법
Client Sturcture
데이터베이스 스키마
Yarn workspace 명령어
Docker를 이용한 서버 개발 환경
Linting Tools