Skip to content

📝 오늘 하루를 경험치로 바꿔 레벨업하자! 나를 위한 Level up "InGame"

Notifications You must be signed in to change notification settings

ingame-app/ingame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ingame

하루하루 성장하는 경험을 하고 싶으신가요?
Ingame을 통해 나만의 성장스토리를 만들어보세요

https://ingame.prgms-fullcycle.com/

🛠 기술스택

💡 공통

Typescript Prettier ESLint

💡 프론트엔드

React Tanstack-Query Redux-Toolkit
React Hook Form React Router Dom Styled Components MSW

💡 백엔드

NestJS TypeORM
Winston Swagger Redis MariaDB

📌 주요 기능

⭐️로그인

회원가입 후 로그인하면 가입한 프로필과 현재 날짜의 퀘스트 목록을 볼 수 있습니다.

⭐️메인화면

위의 주간 캘린더는 접속하는 현재 날짜로 설정되어있습니다. 다른 날짜로 변경하면 해당 기간의 퀘스트를 확인할 수 있습니다.

🌟프로필

메인화면에서 프로필 이미지와 닉네임 및 자기소개를 수정할 수 있습니다.

Kapture 2024-05-30 at 21 06 29

🌟메인 퀘스트

기간을 정하고 목표를 세우는 메인 퀘스트입니다!
메인 퀘스트를 생성하고 작성한 목표 리스트의 체크하여 성공 여부를 표시할 수 있습니다.

Kapture 2024-05-30 at 22 50 03

🌟서브 퀘스트

단 하루만 유효한 서브 퀘스트입니다.
기간안에 성공하지 못할 시 자동으로 퀘스트는 실패합니다.
자물쇠 기능을 통해 다른 사람들이 내 퀘스트를 보지 못하게 설정할 수 있습니다.

Kapture 2024-05-30 at 23 01 40

⭐️랭킹 페이지

퀘스트를 성공하면 퀘스트 창이 초록색으로 변경됩니다.
또한 성공 시 일정한 경험치를 지급 받는데 랭킹 페이지에서 다른 유저들과 비교하여 순위를 알 수 있습니다.

🧰 협업 및 디자인

💡 협업

노션 슬랙 게더타운

💡 디자인

Figma

🙋🏻‍♂️ 팀원 소개

🪜 전체 아키텍쳐

시스템_구조2

📁 디렉토리 구조

📦 
├─ .github                         # Feature, PR, Bug template
├─ client                          # client
│  ├─ public                       # public
│  ├─ src
│  │  ├─ api                       # api 호출 Function
│  │  ├─ assets                    # resoucres
│  │  ├─ components                # 페이지를 구성하는 components
│  │  ├─ constant                  # api, message, queryStirng, route 및 공통적으로 사용되는 constants
│  │  ├─ hooks                     # Custom Hooks
│  │  ├─ layout                    # 프로젝트 뼈대를 구성하는 Layout
│  │  ├─ mocks                     # MSW를 활용한 Mock data, handler
│  │  ├─ models                    # 프로젝트 전반에 걸쳐 사용되는 Type 정의
│  │  ├─ pages                     # Pages
│  │  ├─ provider                  # Login, Query Provider
│  │  ├─ routes                    # Routes config
│  │  ├─ shared                    # 공통으로 사용되는 값 및 Dummy data
│  │  ├─ store                     # 전역 Store
│  │  ├─ styles                    # Global Style
│  │  └─ utils                     # date, axios 관련 util 함수
├─ k8s                             # Kubernetis 배포 설정
└─ server                          # server
   ├─ src
   │  ├─ apis                      # API 구현체
   │  │  ├─ auth                   # 인증 API
   │  │  ├─ point                  # 포인트 처리 API
   │  │  ├─ quests                 # 퀘스트 API
   │  │  ├─ ranking                # 랭킹 조회 API
   │  │  └─ users                  # 사용자 정보 API
   │  ├─ common                    # 공통 사용 모듈
   │  │  ├─ config                 # TypeORM, JWT, Swagger, Redis 등 필요 라이브러리 설정 코드
   │  │  ├─ decorators             # `CurrentUser` 데코레이터
   │  │  ├─ filters                # Winston 로깅 예외 로그 필터
   │  │  ├─ health                 # Redis health check 모듈
   │  │  ├─ level-calculator       # 레벨 계산 모듈
   │  │  ├─ logger                 # Winston Logger 모듈
   │  │  ├─ middleware             # Winston Logger 미들웨어
   │  │  └─ scheduler              # 스케줄러 모듈
   └─ test                         # NestJS 기본 테스트 폴더

About

📝 오늘 하루를 경험치로 바꿔 레벨업하자! 나를 위한 Level up "InGame"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published