ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 최종 프로젝트 기획!
    엘리스트랙 2024. 4. 21. 23:30
    728x90

     

     

     

    서비스 명

    • 산타
    • 등산을 좋아하는 사람을 위한 모임 서비스

    서비스 목적

    등산을 좋아하는 유저들 간의 모임을 활성화하여 더욱 즐거운 등산생활을 즐길 수 있도록 한다.

    서비스 목표

    • 유저가 직접 참여하여 다양한 카테고리의 모임을 생성/참여하여 커뮤니티를 이룸
    • 각 산 별 오픈채팅방에서 등산하고자하는 산에 대한 정보 공유
    • 생성된 다양한 업적들을 통해 사용자들의 사이트를 이용함에 있어 동기부여 제공
    • 랭킹 시스템(유저가 등반한 산의 개수 + 유저가 등반한 산의 누적 높이)를 통한 등산에 대한 동기부여 제공
    • (사용자가 선호 카테고리에 맞는 모임을 추천을 받아 모임 선택의 어려움 감소)

    서비스 기능 명세

    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
Designed by Tistory.