-
최종 프로젝트 기획!엘리스트랙 2024. 4. 21. 23:30728x90
서비스 명
- 산타
- 등산을 좋아하는 사람을 위한 모임 서비스
서비스 목적
등산을 좋아하는 유저들 간의 모임을 활성화하여 더욱 즐거운 등산생활을 즐길 수 있도록 한다.
서비스 목표
- 유저가 직접 참여하여 다양한 카테고리의 모임을 생성/참여하여 커뮤니티를 이룸
- 각 산 별 오픈채팅방에서 등산하고자하는 산에 대한 정보 공유
- 생성된 다양한 업적들을 통해 사용자들의 사이트를 이용함에 있어 동기부여 제공
- 랭킹 시스템(유저가 등반한 산의 개수 + 유저가 등반한 산의 누적 높이)를 통한 등산에 대한 동기부여 제공
- (사용자가 선호 카테고리에 맞는 모임을 추천을 받아 모임 선택의 어려움 감소)
서비스 기능 명세
1. 유저 기능
- 로그인/회원가입
- 선호 키워드 등록
- 정상 인증
2. 모임 기능
- 모임 생성 및 참가 가능
- 키워드 기반으로 모임 검색
- 선호 카테고리 및 태그 사용자 검색어 기반 모임&검색어 추천
- 최신순, 인기순 기반 필터링
- 모임 참여인원 조회
3. 업적 & 챌린지 기능
- 정상 좌표값 기반으로 정상 및 등반높이 인증
- 관리자가 등록한 챌린지 (ex. 힐링 카테고리 모임 5개 참여) 인증 기준 만족 시 유저가 직접 등록하지 않아도 진행 중인 챌린지에 달성률 기록 시작
- 100% 완료 후 업적 트로피 획득
4. 랭킹
- 사용자가 인증한 데이터(높이, 정상)를 기반으로 점수를 산출하여 랭킹시스템 생성
- 월별 랭킹시스템
5. 실시간 채팅
- 한국 100대 명산 리스트 기준으로 채팅방 검색 후 입장
- 유저가 채팅 리스트를 갖고 있는 것이 아닌 필요시 검색하여 참여함으로써 실시간 소통에 목적을 둠
- 해당 채팅방을 검색해서 들어온 사용자들과 오픈채팅 진행
- 부적절한 메세지 신고 → 관리자 회원관리 페이지에서 조회 가능
- 레퍼런스 : 네이버 실시간 톡
6. 관리자(Admin)
- 회원관리 : 전체 회원 정보 조회(신고 내역 등) 및 회원 정보 삭제 기능
- 챌린지 관리 : 챌린지 업로드 및 삭제, 진행 인원수 체크
- 모임 관리 : 전체 모임 조회 및 삭제 기능
- 배너 관리 : 배너 업로드 기능
- 카테고리 관리 : 카테고리 수정 및 삭제 기능
- 서비스 시나리오
- 이름: 엘리스
- 나이: 35
- 직업: 직장인
- 거주: 서울 혼자 거주
- 캐릭터
- "직장 스트레스로 취미를 구하고 싶었음 자연과 운동을 좋아함."
- "등산정보를 제공해주면서 등산 모임도 가능한 서비스를 찾고 있음."
- 회원가입
- 폼의 입력 값이 조건에 안 맞으면 사용자에게 알려줌
- 이메일, 이름, 비밀번호, 닉네임, 휴대폰
- 이메일로 인증해서 가입(소셜 로그인 없이도 회원가입 가능)
- 조건에 맞게 입력하면 백엔드 서버와 연결해서 회원가입 정보가 db저장됨
- 폼의 입력 값이 조건에 안 맞으면 사용자에게 알려줌
- 로그인
- 로그인 폼의 입력 값이 조건에 안 맞는다면 사용자에게 알려줌
- 로그인 성공 - jwt 토큰이 프론트 단에 저장되고 메인페이지로 이동
- 로그아웃 - 프론트 단에 있던 jwt토큰이 제거
- 사용자
- 회원정보를 조회할 수 있음
- 회원정보를 수정할 수 있음
- 닉네임 중복을 허용
- 이메일로 인증했기에 비밀번호, 닉네임만 수정가능
- 프로필 사진 추가 가능
- 회원정보를 삭제할 수 있음
- 정보를 남겨 놓을 것인가? 탈퇴 유저 정보 2주간 보유
- 서비스 관리자
- 관리자 계정이 존재, 일반사용자와 구분
- 챌린지를 열 수 있음
- 회원을 관리할 수 있음
- 모임 관리
- 배너 관리
- 카테고리 관리
- 관리자가 정해놓은 선호 카테고리를 사용자가 고른다
- 회원가입 시
- 목적(대)
- 중 - 힐링, 단풍, 정상 깨기, 출사, 식도락, 플로킹
- 이걸 통해 산 추천 서비스 제공(?) 아니면 모임 서비스를 제공(?)
- 일부만 참석한 경우
- 소수 인원으로라도 즐거워서 만족스러운 산행을 함
- 맞지 않은 사람이 있어서 이 사람과는 만나고 싶지 않음. → 내가 싫은 사람 목록이 필요할 수도 ..?
- 전원 참석한 경우
- 다 함께 즐겁게 산행을 즐기고 옴
- 너무 잘 맞아서 모임은 취소하고 이 멤버로 활동을 하고자함 → 앱탈퇴
- 너무 잘맞아서 자기가 신청한 모임에 함께하자고 영입
- 맞지 않은 사람이 있어서 이 사람과는 만나고 싶지 않음.
- 사용자
- 사용자가 모임페이지을 생성 가능
- 생성하면 모임장이라는 권한을 받아야 하나? 생성한 사람에게 모임장 권한 부여
- 입력하는 모임 정보 : 모임이름, 모임설명, 모임카테고리, 선호태그
- 사용자가 모임 페이지를 조회 가능
- 사용자는 인기모임 페이지를 조회 가능
- 참여한 사용자를 다른 사용자에게 보여준다.
- 사용자가 모임페이지를 참여 가능
- 사용자는 모임페이지를 탈퇴 가능
- 사용자가 모임페이지을 생성 가능
- 모임장
- 모임장은 모임페이지(설명만) 수정 가능
- 다른 부분도 수정 가능하게 할 건가?
- 모임장은 모임페이지 삭제 가능
- 모임장은 모임페이지(설명만) 수정 가능
- 카테고리 (crud)
- 사용자
- 모임 생성 시 카테고리를 선택할 수 있다.
- 모임 조회 시 카테고리별로 조회할 수 있다.
- 관리자
- 카테고리를 추가할 수 있다.
- 카테고리를 삭제할 수 있다.
- 사용자
- 챌린지(crud)
- 사용자
- 사용자는 등록된 챌린지를 조회
- 관리자
- 관리자는 챌린지를 생성할 수 있다.
- 관리자는 모든 챌린지를 미리 세팅해 둡니다.
- 관리자는 등록한 챌린지를 조회할 수 있다.
- 관리자는 등록한 챌린지를 수정할 수 있다.
- 관리자는 등록한 챌린지를 삭제할 수 있다.
- 관리자는 챌린지를 생성할 수 있다.
- 사용자
- 모임 (crud) - 번개
- 직장 내 스트레스를 등산으로 풀고 싶던 엘리스 씨는 힐링을 주제로 하는 모임에 참여 신청함. 하지만 모임 시작 날짜가 너무 뒤에 있는 거 같아, 이번 주말에 당장 등산 모임을 하고 싶었던 엘리스씨는 번개 모임을 만들기로 함. 번개 모임을 만들고 두근 거리는 마음으로 사람들을 만남. 모임에는 6명을 모집되었지만 당일날 참석한 사람들은 3명 정도임.
- 선호 카테고리
- 사용자 관련 기능
- 페르소나
기술스택
- 프론트엔드 : 리액트, Redux 상태관리, SCSS
- 백엔드: SpringBoot, SpringSecurity, JPA ,MySQL, Postman
- 배포 : 도커, Nginx, AWS EC2 ,RDS
플로우 차트
ERD
728x90'엘리스트랙' 카테고리의 다른 글
최종 프로젝트 api 문서 작성! (0) 2024.04.21 최종 프로젝트 배포! (1) 2024.04.21 스프링 웹소켓 복습! (0) 2024.04.14 GraphQL 사용해보기! (0) 2024.04.14 GraphQL이란? (0) 2024.04.14