logo

Daily Record

#TypeScript
#Nest.js
#MySQL
#AWS
#Linux Ubuntu
#Nginx


프로젝트 소개


Daily Record는,
목표를 설정하고 주기적으로 진행 상황을 체크하며 성취를 이뤄나가는 프로젝트 플랫폼입니다.


  • 로고
    angari.dev logo
    Daily Record

  • 메인 프로세스
1. Project: 프로젝트를 생성한다.

2. Task: 상세한 조건을 설정해 프로젝트 내에 과제를 생성한다.

3. Activity: 일상 활동을 기록하며 기록 시 관련된 프로젝트(과제)와 연동하여 프로젝트를 수행해 나간다.


  • 주요 기능
1. 활동 기록 캘린더

Daily Record
메인 화면
  • 일자별 및 시간별로 활동을 기록하여 캘린더에서 한눈에 확인할 수 있습니다.
  • 활동 기록 시 프로젝트와 연동하면 해당 과제가 기록에 표시되며, 진행도가 자동으로 누적됩니다.
  • 과제에서 설정한 색상에 따라 기록의 색상이 표시됩니다.
2. 프로젝트 관리

Daily Record
프로젝트 관리 화면
  • 진행 중인 프로젝트의 과제 설정 내용을 확인할 수 있습니다.
  • 과제가 연동된 활동 기록만큼 과제의 진행도에 적용됩니다.
  • 현재 과제별 달성률추정 졸업률을 수치로 확인할 수 있으며, Progress Bar를 통해 전체 진행 상황을 한눈에 확인할 수 있습니다.
3. 프로젝트 생성

Daily Record
프로젝트 생성 화면
  • 과제를 등록하려면 먼저 과제들을 그룹화할 프로젝트를 생성해야 합니다.
  • 프로젝트는 설정한 기간이 지나면 자동으로 종료됩니다.
4. 과제 생성

Daily Record
과제 생성 화면
  • 과제는 프로젝트 내에서 생성할 수 있으며 프로젝트 기간 범위를 벗어날 수 없습니다.
  • 과제 기간과 체크 방식을 조합하여 과제의 목표량을 산출하고 저장합니다.
  • 진행도 누적 방식에 따라 횟수와 시간으로 구분하여 지정할 수 있습니다.
  • 주말 제외를 선택하면 주말을 제외한 일자만을 목표량 산출에 적용합니다.
5. 계정 관리

Daily Record
계정 관리 화면
  • 상단 우측의 프로필 버튼을 통해 계정 관리 화면에 접근할 수 있습니다.
  • 이름, 계정, 비밀번호 등 계정 정보를 변경할 수 있습니다.
  • 이메일 인증은 회원가입 시 진행한 이메일 인증을 통해 완료됩니다.



개발 정보



* 개발 동기
1. 일상 챌린지처럼 하고자 하는 일들을 계획하고, 그 과정과 진행 상황을 기록하고 점검하는 플랫폼을 필요로 함.
2. 학습한 개발 기술을 적용하고, 프로젝트 기획부터 프론트엔드와의 협업까지 개발 활동 전반의 경험을 쌓기 위해.

1. 개발 기간
  • 1차 개발: 2023.12 ~ 2024.04

2. 소스 코드

3. 팀 구성 및 기술 스택
  • 백엔드(1명) - TypeScript Nest.js MySQL AWS Linux Ubuntu Nginx
  • 프론트엔드(1명) - TypeScript Next.js React TailwindCSS

4. 기획 및 디자인

5. 담당 역할
  • 서버 애플리케이션 백엔드 개발
  • 서버 호스팅 및 배포
  • 메인/서브 콘텐츠의 기능 및 아키텍처 설계

6. 핵심 집중 영역
  • 최대한 Nest.js(TypeORM)의 기본 기능과 Restful API를 활용하여 서버의 안정성을 최대화하기 위해 노력
  • 메인 콘텐츠 구조(Project-Task-Activity)의 주요 기능 간 관계를 세밀하게 연결하여 버그 최소화
  • OAuth, 이메일 등 외부 라이브러리 및 API를 활용해 시스템의 유연·확장성 강화
  • DB 테이블 관계를 철저하게 설계하여 데이터 무결성 강화

7. 개발 및 협업 관리
  • 개발 과정에서 학습한 지식과 기능에 적용된 논리 로직 기록 → Blog
  • 데이터베이스 및 API 명세서 작성 → Notion
  • 프로젝트 일정, 진행 상황, 팀 회의 및 기능 요청과 같은 협업 내용 기록