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

 

History

452 Commits
 
 
 
 
 
 
 
 
 
 

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

Contributors 6