Skip to content

hanghae99-team6-actualProject/backend

Repository files navigation


최종발표 ppt

밍기적

귀여운 몬스터와 함께 작지만 소중한 기적, 밍기적을 일으켜 일상에 활력을 불어넣으세요!

🙌 밍기적 하러 가기 🙌


👟 밍기적 백앤드

🐤 Mingizuk 링크

🎥 Youtube 링크

📚 Notion 링크

🗂️ FrontEnd Github 링크

'밍기적'을 소개합니다.

오랜 시간 좌식 생활을 하시거나 운동을 시작하지만 작심삼일로 끝나곤 하나요?

건강을 지키기 위해 꼭 거창한 운동을 할 필요는 없어요. 일상 속에서 여러분이 할 수 있는 운동을 꾸준히 한다면 하루하루 달라진 여러분을 발견할 수 있을 거에요.

귀여운 몬스터와 함께 작지만 소중한 기적, 밍기적을 일으켜 일상에 활력을 불어넣으세요!

Features

  • 운동 기록하고 루틴을 구성할 수 있습니다.

    • 동작과 루틴개념을 기반으로 운동을 기록할 수 있습니다.
      • 동작 : 실제 사용자가 실시하는 단일 운동
      • 루틴 : 액션의 조합
    • 프리셋으로 제공되는 기본 루틴 외, 직접 루틴을 구성할 수 있습니다.
  • 귀여운 캐릭터가 운동을 함께합니다.

    • 유저가 운동을 통해 좀 더 건강해지는 것처럼 캐릭터도 진화합니다.
  • 운동 모임을 개설하고 모임 참여자들과 채팅으로 소통할 수 있습니다.

    • 공지사항 공지 기능을 통해 참여자들에게 주요한 정보를 명확하게 전달할 수 있습니다.
    • 채팅 모임 참여자들과 실시간 채팅으로 소통할 수 있습니다.
    • 지도 카카오 지도 API를 기반으로 상세한 모임 위치를 적용할 수 있습니다.
  • JWT 방식으로 보안된 다양한 로그인 방식이 제공됩니다.

    • 소셜 로그인 (Google, KaKao)
    • 일반 로그인
  • 운동 이력을 조회할 수 있습니다.

    • Habit Tracker History
      • 운동 습관 형성을 돕는 Habit Tracker는 한 달을 기준으로 일자 템플릿이 표시됩니다. 루틴을 완수하면 템플릿 내 완수 일자에 마크가 적용됩니다.
    • Graph History
      • 운동 이력을 막대그래프로 시각화해서 쉽게 확인할 수 있는 Graph History 주 단위로 표시됩니다. 완수한 동작 수 또는 루틴 수를 기준으로 각각 확인할 수 있습니다.

Architecture

백엔드 아키텍쳐

Database ERD

projectDB

Backend Tech Stacks

Name Tech
Server
Language
Database
CI/CD
Container Orchestration
Load Balancer
Test
Storage

Other Packages

Package Version Description
bcrypt ^5.0.1 bcrypt JWT 토큰 암호화
cors ^2.8.5 CORS 핸들링
dotenv ^10.0.0 환경변수 핸들링
helmet ^4.6.0 웹서비스 보안
hpp ^0.2.3 웹서비스 보안
http-errors ^1.8.0 http 에러 생성 후 응답 위해 활용
joi ^17.4.2 유저 회원가입 시 입력값 유효성 체크
jsonwebtoken ^8.5.1 로그인 시 JWT 발급
morgan ^1.10.0 HTTP 요청 로그 관리
node-cron ^3.0.0 스케줄러
passport ^0.5.0 소셜로그인
winston ^3.3.3 전체 서비스 로그 관리

Test

  • Jest
  • Artillery
    • 부하테스트를 통한 DB유형 선정

      스크린샷 2021-12-03 오전 5 46 29

      • 기존 MySQL 사용시 채팅 데이터 부하 테스트 결과

        스크린샷 2021-12-03 오전 5 48 22
        스크린샷 2021-12-03 오전 5 48 37

      • Redis DB 사용시 채팅 데이터 부하 테스트 결과

        스크린샷 2021-12-03 오전 5 47 29
        스크린샷 2021-12-03 오전 5 47 49

      • 결론: 테스트 결과, 기존 대비 약 1/4 가량의 Latancy가 측정되어 큰 감소치를 볼 수 있었고 이는 장기적인 측면에서 안정적인 DB를 구성할 수 있는 이유로 판단할 수 있습니다.

  • CloudWatch
    • AWS CloudWatch를 이용한 부하 경보 발생 테스트 결과

      클라우드와치

      클라우드와치2

    • 부하 경보를 발생할 수 있는 장치를 만들었으며 실제 테스트를 시도하여 경보를 발생시킨 후 autoscaling 실행 또한 확인하였습니다.

Improvements

Members

  • Frontend Developer
    • 석지선
    • 이경아
    • 윤진선
  • Backend Developer
    • 김영우
    • 양주혁
    • 임성찬
  • Designer
    • 김수빈
    • 김예진

About

항해99 실전프로젝트 6조 백앤드 리포지토리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages