Skip to content

크록스 : 학생들을 위한 공부 플래닝, 뽀모도로 타이머, 피드백 제공 서비스

Notifications You must be signed in to change notification settings

seeds-hotpack/krocs-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

574 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Krocs

Banner

Krocs: 계획의 루프를 완성하는 시간 코치

목표 설정부터 실행, 회고까지 계획의 전체 루프를 지원하는 시간 관리 서비스

팀 핫팩
v1 개발기간: 2025.07 ~ 2025.12
2025 Seeds 최우수상

배포 주소

서비스 페이지 : https://www.krocs.life/
API 명세서 : https://api.krocs.life/swagger-ui/index.html

팀 소개

박준하 박성열 진소희 이가원 백하현
팀장, PM 백엔드 백엔드, 인프라 백엔드 프론트엔드

주요 기능 ✨

1) 계층적 목표 관리

  • 대목표 + 세부목표의 2단계 계층 구조로 목표를 체계적으로 관리
  • 실시간 진행률 자동 계산
  • 키워드 검색 / 날짜 범위 / 상태별 필터링 제공

2) 캘린더 기반 일정 관리

  • 일/월 단위 일정 조회 및 직관적인 캘린더 뷰 제공
  • 종일 일정과 시간 지정 일정을 구분
  • 세부목표와 연동하여 계획 수립 가능

3) 회고 시스템

  • 목표 완료 후 성공/실패 요인을 분석하고 기록
  • 과거 회고를 누적 저장하여 성장 과정을 추적

4) 템플릿

  • 자주 사용하는 목표를 템플릿으로 저장/재사용하여 시간 절약

기능별 화면 구성 📺

1) 계층적 목표 관리 2) 캘린더 기반 일정 관리
goal-3 goal-4
3) 회고 시스템 4) 템플릿
goal-6 goal-5

기술 아키텍처 🏗️

  • FE: GitHub Actions → Vercel 배포
  • BE: GitHub Actions → Docker build/push → GCP Compute Engine 배포
  • Reverse Proxy: Nginx + Let’s Encrypt(HTTPS)
  • DB: Cloud SQL(PostgreSQL), Redis
스크린샷 2026-01-11 오후 2 29 15

기술 스택 🧰

Frontend

Next JS React TypeScript ESLint TailwindCSS NodeJS

Backend

Java Spring Boot Spring Security Hibernate Postgres

Infrastructure

Google Cloud Compute Engine Cloud SQL Redis Docker GitHub Actions Nginx Vercel

External APIs

OAuth2 Google Kakao Naver

Communication

Swagger Postman Notion Discord


시작 가이드 🚀

Requirements

  • Next.js: 15.5.9

  • React: 19.1.1

  • TypeScript: 5.9.2

  • ESLint: 9.x

  • Tailwind CSS: 4.x

  • Node.js (프론트 로컬 실행 시)

  • Java 21

  • Spring Boot 3.5.3

  • Docker / Docker Compose

  • PostgreSQL / Redis

Installation

git clone https://github.com/seeds-hotpack/krocs-backend.git
cd https://github.com/seeds-hotpack/krocs-backend.git

디렉토리 구조

## Directory Structure (Backend)

```bash
krocs-backend/
├── backend/                         # Spring Boot 애플리케이션
│   ├── docker/                      # 로컬/개발용 컨테이너 설정
│   │   └── redis/
│   │       └── docker-compose.yml
│   ├── gradle/                      # Gradle Wrapper
│   │   └── wrapper/
│   ├── src/
│   │   ├── main/
│   │   │   ├── java/com/hotpack/krocs/
│   │   │   │   ├── domain/          # 도메인별 기능 모듈
│   │   │   │   │   ├── auth/        # 인증/세션/토큰
│   │   │   │   │   ├── goals/       # 목표/세부목표
│   │   │   │   │   ├── plans/       # 계획/세부계획
│   │   │   │   │   ├── retrospectives/ # 회고(요인/통계)
│   │   │   │   │   ├── stopwatch/   # 스톱워치 로그
│   │   │   │   │   ├── templates/   # 템플릿/서브템플릿
│   │   │   │   │   ├── timeline/    # 타임라인 조회
│   │   │   │   │   └── user/        # 유저 도메인
│   │   │   │   ├── global/          # 공통 설정/보안/응답/헬스체크 등
│   │   │   │   └── KrocsApplication.java
│   │   │   └── resources/
│   │   │       ├── db/              # Liquibase changelog
│   │   │       ├── krocs-config/    # 환경별 properties (dev/prod)
│   │   │       └── messages_ko.properties
│   │   └── test/                    # 도메인별 단위/통합 테스트
│   ├── Dockerfile                   # 백엔드 도커 이미지 빌드
│   ├── build.gradle
│   ├── settings.gradle
│   ├── gradlew
│   └── LIQUIBASE_README.md
├── deploy/                          # 배포/운영 구성
│   ├── nginx/                       # Reverse Proxy 설정
│   │   ├── conf.d/default.conf
│   │   └── nginx.conf
│   ├── scripts/                     # SSL 발급/갱신 스크립트
│   │   ├── setup-ssl.sh
│   │   └── renew-ssl.sh
│   ├── docker-compose.yml           # 로컬/기본 구성
│   └── docker-compose.prod.yml      # 운영 구성
├── scripts/                         # 서브모듈 세팅/업데이트 스크립트
│   ├── setup-submodules.sh
│   └── update-submodules.sh
├── makefile
└── ReadMe.md

About

크록스 : 학생들을 위한 공부 플래닝, 뽀모도로 타이머, 피드백 제공 서비스

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6

Languages