Skip to content

배우면서 만드는 사이드 프로젝트입니다.

Notifications You must be signed in to change notification settings

hwicode/schedule

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

schedule

🖐 프로젝트 소개

  • 계획표를 작성하는 것이 중요한 것임을 알지만, 계획대로 진행되지 않아서 의욕이 저하되었습니다.
  • 적절한 목표 설정과 과제 난이도 측정에 대한 고민이 있었습니다.

  • 위와 같은 문제를 해결하기 위해 프로젝트를 만들게 되었습니다.



📝 목차



🖥 서비스 화면



🏛 프로젝트 아키텍처



📈 프로젝트 배경

📌 프로젝트 목적

  • 사용자가 학습 과정을 객관적으로 측정할 수 있도록 지원합니다.
  • 측정된 결과를 통해 사용자가 학습 방식을 개선할 수 있습니다.
  • 점진적으로 사용자의 학습량과 학습 효율 증진을 높일 수 있습니다.

👉세부 내용


🔨 프로젝트 주요 기능

  • 계획표 구성 - 과제, 학습 시간, 메모, 일일 회고 작성 가능
  • 과제 관리 - 과제마다 난이도 점수와 진행 상태를 가짐
  • 달력 구성 - 목표와 일별로 (총 점수, 진행률, 메인 태그, 이모지)를 가짐
  • 태그 기능 - 계획표와 메모에 태그 추가 및 태그를 통한 검색 가능
  • 복습 기능 - 과제를 복습 주기에 맞춰 자동으로 추가 가능



🧐 문제 해결 과정

😵 점점 복잡해지는 코드

  • 하나의 테이블에 여러 개의 엔티티 사용
  • 비즈니스 로직을 격리를 위한 애플리케이션 레이어 설계
  • 하나의 엔티티가 논리적으로 함께 변해야 하는 엔티티들을 담당
  • 애플리케이션 레이어와 도메인 레이어의 역할 구분 및 계층 분리
  • 아쉬운 점

👉세부 내용


🚀 성능 테스트

  • 성능 테스트와 모니터링을 통해 서버가 감당 가능한 트래픽 파악
  • 서버 자원을 효율적으로 관리하기 위해 최적의 설정 도출
  • 성능 테스트 중 발생한 의문점을 해결
  • 성능 테스트 시나리오를 작성하고, 문제를 발견할 때마다 개선하면서 진행

👉세부 내용


✅ 로그인

  • OAuth 2.0을 사용한 이유
  • 세션 vs JWT 토큰
  • JWT의 보안 문제 해결 방안
  • Refresh token의 구현을 어떻게 할까?
  • Access token과 Refresh token을 프론트로 어떻게 전달 해줘야 할까?
  • Access token을 프론트에서 어디에 저장할까?
  • Refresh token에 적용되는 보안
  • 토큰 탈취당했을 때 해결 방안

👉세부 내용


🔨 테스트 코드

  • 테스트의 목적
  • 테스트 작성 방법
  • 테스트 작성 시 고려 사항
  • 결과
  • 아쉬운 점

👉세부 내용


🏛 아키텍처

  • 깃허브 액션을 통한 CI/CD
  • Nginx를 이용한 blue/green 무중단 배포 과정
  • 이전 APP을 삭제하는 이유

👉CI/CD 세부 내용
👉무중단 배포 세부 내용


🤖 프론트엔드

  • 서비스 화면
  • 프로젝트 시작 전 상황
  • 학습 과정
  • 주요 문제
  • 결과
  • 아쉬운 점

👉세부 내용



📒 프로젝트 문서

About

배우면서 만드는 사이드 프로젝트입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages