Skip to content

lets-projects/SANTA-FE

Repository files navigation

등산을 사랑하는 당신을 위한 서비스, 산타

  • 취향에 맞는 등산 모임을 직접 모집해보세요.
  • 다양한 챌린지를 앱을 통해 자동 기록을 남겨보세요.
  • 다양한 종류의 챌린지를 통해 나의 업적을 기록해 보세요
  • 내 순위를 확인하고, 다른 사용자들과 겨뤄보세요.

산타로고

프로젝트 기간

2024.04.08 ~ 2024.05.10(5주)

실행 방법

client

아래 명령어 순서로 터미널에 입력하기

npm i
npm run dev

server


서비스 목적

등산을 좋아하는 유저들 간의 다양한 커뮤니티를 활성화하고 동기부여를 위한 챌린지를 제공하여 지속 가능한 등산 문화를 조성한다.

서비스 목표

  • 유저가 직접 참여하여 다양한 카테고리의 모임을 생성/참여하여 커뮤니티를 이룸
  • 사용자가 선호 카테고리를 선택하여 선호 카테고리별 모임 조회를 통한 모임 선택의 어려움 감소
  • 생성된 다양한 챌린지를 통해 사용자들이 사이트를 이용함에 있어 동기부여 제공
  • 랭킹 시스템(유저가 완료한 업적 + 유저가 등반한 산의 누적 높이)를 통한 등산에 대한 동기부여 제공

서비스 기능 명세

1. 유저 기능

  • 로그인(+카카오 소셜 로그인)/회원가입
  • 선호 키워드 등록

2. 모임 기능

  • 모임 생성 및 참가 가능
  • 선호 카테고리 및 태그 사용자 검색어 기반 모임&검색어 조회
  • 최신순, 인기순 기반 필터링
  • 모임 참여인원 조회
  • 유저 신고 기능

3. 챌린지 기능

  • 챌린지는 자동으로 수행되며 100% 완료 후 업적 트로피 획득

4. 인증 기능

  • 산 정상 좌표값 기반으로 정상 및 등반높이 인증
  • 등반한 정상 개수와 누적 높이를 기록

5. 랭킹

  • 사용자가 인증한 데이터(높이, 완료한 챌린지)를 기반으로 점수를 산출하여 랭킹시스템 생성

6. 관리자(Admin)

  • 회원관리 : 전체 회원 정보 조회(신고 내역 등) 및 회원 정보 삭제 기능

  • 챌린지 관리 : 챌린지 업로드 및 삭제

  • 카테고리 관리 : 카테고리 수정 및 삭제 기능

  • 서비스 시나리오

    페르소나

    • 이름: 엘리스
    • 나이: 35
    • 직업: 직장인
    • 거주: 서울 혼자 거주
    • 캐릭터
      • "직장 스트레스로 취미를 구하고 싶었음 자연과 운동을 좋아함."
      • "등산정보를 제공해주면서 등산 모임도 가능한 서비스를 찾고있음."

    상세기능

    사용자 관련 기능

    • 회원가입
      • 폼의 입력 값이 조건에 안맞으면 사용자에게 알려줌
        • 이메일, 이름, 비밀번호, 닉네임, 휴대폰
      • 비밀번호 분실 시 본인 이메일 인증 후 비밀번호 초기화
      • 소셜 로그인 없이도 회원가입 가능
      • 조건에 맞게 입력하면 백엔드 서버와 연결해서 회원가입 정보가 db저장됨
    • 로그인
      • 로그인 폼의 입력 값이 조건에 안 맞는다면 사용자에게 알려줌
      • 로그인 성공 - jwt 토큰이 프론트 단에 저장되고 메인페이지로 이동
      • 로그아웃 - 프론트 단에 있던 jwt토큰이 제거
    • 사용자
      • 회원정보를 조회 할 수 있음
      • 회원정보를 수정 할 수 있음
        • 닉네임 중복 불가
        • 프로필 사진 추가 가능
      • 회원정보를 삭제 할 수 있음
    • 서비스 관리자
      • 관리자 계정이 존재, 일반사용자와 구분
      • 챌린지를 열 수 있음
      • 회원을 관리 할 수 있음
      • 카테고리 관리

    모임

    선호 카테고리

    • 관리자가 정해놓은 선호 카테고리를 사용자가 고른다
      • 회원가입시
    • 목적
      • 힐링, 단풍, 정상깨기, 출사, 식도락, 플로깅

    게시판

    모임 (crud)

    • 사용자

      • 사용자가 모임 생성 가능
        • 생성한 사람에게 모임장 권한 부여
        • 입력하는 모임 정보 : 모임이름, 모임설명, 모임카테고리, 선호태그
      • 사용자가 모임 조회 가능
      • 사용자는 인기모임 조회 가능
      • 참여한 사용자를 다른 사용자에게 보여준다.
      • 사용자가 모임 참여 가능
    • 모임장

      • 모임장은 모임 수정 가능
      • 모임장은 모임페이지 삭제 가능

    카테고리

    • 카테고리 (crud)
      • 사용자
        • 모임 생성시 카테고리를 선택할 수 있다.
        • 모임 조회시 카테고리별로 조회 할 수있다.
      • 관리자
        • 카테고리를 추가 할 수 있다.
        • 카테고리를 삭제 할 수 있다.

    챌린지

    • 챌린지(crud)
      • 사용자
        • 사용자는 등록 된 챌린지를 조회
      • 관리자
        • 관리자는 챌린지를 생성할 수 있다.
        • 관리자는 등록한 챌린지를 조회 할 수 있다.
        • 관리자는 등록한 챌린지를 수정 할 수 있다.
        • 관리자는 등록한 챌린지를 삭제 할 수 있다.

프로젝트 구조 및 아키텍처


아키텍처

ERD


�erd

플로우차트


플로우차트

와이어프레임


스크린샷_2024-05-11_오전_3.42.31

기술 스택

프론트엔드

typescript react TanStack Query, gitlab sass reacthookform

백엔드

springboot

springsecurity

mysql

postman

서버

docker

nginx

jenkins

amazon aws

amazon ec2

amazonelasticache

역할담당

훈련생 역할
옥찬혁 팀장👑
백엔드
나정균 팀원
백엔드
민지원 팀원
백엔드
김경혜 팀원
프론트
윤혜원 팀원
프론트
진채영 팀원
프론트
김정현 코치
송재천 코치

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages