Skip to content

blaybus-runtime/README

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 

Repository files navigation

πŸ“š SURL Study

λ©˜ν† -λ©˜ν‹° μŠ€ν„°λ”” 관리 ν”Œλž«νΌ

λ©˜ν† μ™€ λ©˜ν‹°λ₯Ό μ—°κ²°ν•˜κ³ , 체계적인 ν•™μŠ΅ 관리와 ν”Όλ“œλ°±μœΌλ‘œ ν•¨κ»˜ μ„±μž₯ν•˜λŠ” μŠ€ν„°λ”” ν”Œλž«νΌ

Spring Boot React Vite TailwindCSS Java MySQL


🌐 Live Demo Β· πŸ› Bug Report Β· πŸ’‘ Feature Request


🎯 ν”„λ‘œμ νŠΈ μ†Œκ°œ

SURL StudyλŠ” λ©˜ν† -λ©˜ν‹° κ°„ 체계적인 ν•™μŠ΅ 관리λ₯Ό μœ„ν•œ ν’€μŠ€νƒ μ›Ή ν”Œλž«νΌμž…λ‹ˆλ‹€.

λ©˜ν† λŠ” λ©˜ν‹°μ—κ²Œ 과제λ₯Ό λ°°μ •ν•˜κ³  ν”Όλ“œλ°±μ„ μ œκ³΅ν•˜λ©°, λ©˜ν‹°λŠ” 일일 ν•™μŠ΅ κ³„νšμ„ μ„Έμš°κ³  과제λ₯Ό μ œμΆœν•˜λ©° μžμ‹ μ˜ μ„±μž₯을 좔적할 수 μžˆμŠ΅λ‹ˆλ‹€. μΊ˜λ¦°λ” 기반 μΈν„°νŽ˜μ΄μŠ€μ™€ ν•™μŠ΅ μ‹œκ°„ 톡계λ₯Ό 톡해 효율적인 ν•™μŠ΅ 관리가 κ°€λŠ₯ν•©λ‹ˆλ‹€.


✨ μ£Όμš” κΈ°λŠ₯

πŸ§‘β€πŸ« λ©˜ν† 

κΈ°λŠ₯ μ„€λͺ…
λ©˜ν‹° 관리 λ©˜ν‹° 계정 생성, λͺ©λ‘ 쑰회, λ―Έμž‘μ„± ν”Όλ“œλ°± ν˜„ν™© 확인
과제 λ°°μ • λ‚ μ§œ λ²”μœ„ / μš”μΌ λ‹¨μœ„ 일괄 과제 생성, ν•™μŠ΅μžλ£Œ 첨뢀
ν”Όλ“œλ°± μž‘μ„± λ‚ μ§œλ³„ ν”Όλ“œλ°± λŒ€κΈ° λͺ©λ‘ 쑰회, ν”Όλ“œλ°± μž‘μ„±Β·μˆ˜μ •Β·μ‚­μ œ
ν•™μŠ΅ μ½˜ν…μΈ  μŠ€ν„°λ”” 칼럼(ν•™μŠ΅ κΈ€) μž‘μ„±, λ©˜ν‹°λ³„ λ©”λͺ¨ 관리

πŸ‘¨β€πŸŽ“ λ©˜ν‹°

κΈ°λŠ₯ μ„€λͺ…
일일 ν•™μŠ΅ 관리 데일리 ν•  일 λͺ©λ‘ 쑰회, 과제 μΆ”κ°€Β·μ™„λ£Œ 체크
μΊ˜λ¦°λ” & 톡계 μ£Όκ°„ μΊ˜λ¦°λ” λ·°, 일별·주별 진척도 μ‹œκ°ν™” (차트)
ν•™μŠ΅ μ‹œκ°„ 기둝 κ³Όλͺ©λ³„ 곡뢀 μ‹œκ°„ κΈ°λ‘Β·μˆ˜μ •Β·μ‚­μ œ, μ‹œκ°„ 톡계 확인
과제 제좜 파일 μ—…λ‘œλ“œλ₯Ό ν†΅ν•œ 과제 제좜, λ©˜ν†  ν”Όλ“œλ°± 확인
μ†Œν†΅ κ³Όμ œλ³„ λŒ“κΈ€μ„ ν†΅ν•œ λ©˜ν† μ™€μ˜ μ‹€μ‹œκ°„ μ†Œν†΅

πŸ—οΈ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  β”‚         β”‚                  β”‚         β”‚                  β”‚
β”‚   React + Vite   │◄───────►│   Spring Boot    │◄───────►│   TiDB Cloud     β”‚
β”‚   (Cloudflare    β”‚  REST   β”‚   (Docker)       β”‚   JPA   β”‚   (MySQL)        β”‚
β”‚    Pages)        β”‚  API    β”‚                  β”‚         β”‚                  β”‚
β”‚                  β”‚         β”‚                  β”‚         β”‚                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                      β”‚
                                      β”‚ S3 SDK
                                      β–Ό
                             β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                             β”‚                  β”‚
                             β”‚  Cloudflare R2   β”‚
                             β”‚  (File Storage)  β”‚
                             β”‚                  β”‚
                             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ 기술 μŠ€νƒ

Backend

기술 버전 μš©λ„
Spring Boot 4.0.2 μ›Ή ν”„λ ˆμž„μ›Œν¬
Spring Security - 인증 & 인가
JPA / Hibernate - ORM
JWT (jjwt) 0.11.5 토큰 기반 인증
AWS S3 SDK - Cloudflare R2 파일 μŠ€ν† λ¦¬μ§€
Gradle - λΉŒλ“œ 도ꡬ
Docker - μ»¨ν…Œμ΄λ„ˆ 배포

Frontend

기술 버전 μš©λ„
React 19.2 UI 라이브러리
Vite 7.2 λΉŒλ“œ 도ꡬ
Tailwind CSS 4.1 μŠ€νƒ€μΌλ§
React Router 7.13 ν΄λΌμ΄μ–ΈνŠΈ λΌμš°νŒ…
Recharts 3.7 ν•™μŠ΅ 톡계 차트
MSW 2.12 Mock API (개발용)

Infra

기술 μš©λ„
TiDB Cloud MySQL ν˜Έν™˜ ν΄λΌμš°λ“œ DB
Cloudflare R2 S3 ν˜Έν™˜ 였브젝트 μŠ€ν† λ¦¬μ§€
Cloudflare Pages ν”„λ‘ νŠΈμ—”λ“œ ν˜ΈμŠ€νŒ…
Docker λ°±μ—”λ“œ μ»¨ν…Œμ΄λ„ˆν™”

πŸ“‚ ν”„λ‘œμ νŠΈ ꡬ쑰

blaybus/
β”œβ”€β”€ BE/backend/                          # Spring Boot λ°±μ—”λ“œ
β”‚   └── src/main/java/com/blaybus/backend/
β”‚       β”œβ”€β”€ domain/
β”‚       β”‚   β”œβ”€β”€ user/                    # μ‚¬μš©μž (λ©˜ν† /λ©˜ν‹° ν”„λ‘œν•„)
β”‚       β”‚   β”œβ”€β”€ match/                   # λ©˜ν† -λ©˜ν‹° λ§€μΉ­
β”‚       β”‚   β”œβ”€β”€ content/                 # 칼럼, ν”Όλ“œλ°±, λ©”λͺ¨, λŒ“κΈ€
β”‚       β”‚   β”œβ”€β”€ planner/                 # ν•™μŠ΅ κ³„νš, 과제, 제좜
β”‚       β”‚   └── notification/            # μ•Œλ¦Ό
β”‚       └── global/                      # JWT, Security, 곡톡 μ„€μ •
β”‚
└── FE/frontend/surl_study/              # React ν”„λ‘ νŠΈμ—”λ“œ
    └── src/
        β”œβ”€β”€ api/                         # API ν΄λΌμ΄μ–ΈνŠΈ
        β”œβ”€β”€ components/
        β”‚   β”œβ”€β”€ common/                  # 곡톡 μ»΄ν¬λ„ŒνŠΈ
        β”‚   β”œβ”€β”€ mentee/                  # λ©˜ν‹° μ „μš© μ»΄ν¬λ„ŒνŠΈ
        β”‚   └── mentor/                  # λ©˜ν†  μ „μš© μ»΄ν¬λ„ŒνŠΈ
        β”œβ”€β”€ pages/                       # νŽ˜μ΄μ§€ μ»΄ν¬λ„ŒνŠΈ
        β”œβ”€β”€ context/                     # Auth Context
        └── mocks/                       # MSW Mock ν•Έλ“€λŸ¬

πŸš€ μ‹œμž‘ν•˜κΈ°

사전 μš”κ΅¬ 사항

  • Java 17+
  • Node.js 18+
  • Docker (선택)

Backend μ‹€ν–‰

cd BE/backend

# 둜컬 μ‹€ν–‰
./gradlew bootRun

# λ˜λŠ” Docker
docker build -t blaybus-backend .
docker run -p 8080:8080 blaybus-backend

Frontend μ‹€ν–‰

cd FE/frontend/surl_study

# μ˜μ‘΄μ„± μ„€μΉ˜
npm install

# 개발 μ„œλ²„ μ‹€ν–‰
npm run dev

개발 μ„œλ²„: http://localhost:5173

λΉŒλ“œ & 배포

# Backend
./gradlew build

# Frontend
npm run build
npm run preview   # λΉŒλ“œ κ²°κ³Ό 미리보기

πŸ“‘ API μ—”λ“œν¬μΈνŠΈ (μ£Όμš”)

인증
Method Endpoint μ„€λͺ…
POST /api/v1/auth/login 둜그인
λ©˜ν†  API
Method Endpoint μ„€λͺ…
GET /api/v1/matchings?date={date} λ©˜ν‹° λͺ©λ‘ + ν”Όλ“œλ°± ν˜„ν™©
GET /api/v1/matchings/daily-tasks?date={date} λ‚ μ§œλ³„ ν”Όλ“œλ°± λŒ€κΈ°
POST /api/v1/mentors/me/mentees λ©˜ν‹° 계정 생성
POST /api/v1/mentor/tasks/batch 과제 일괄 생성
POST /api/v1/mentor/worksheets ν•™μŠ΅μžλ£Œ μ—…λ‘œλ“œ
GET/POST/PUT /api/v1/assignments/{id}/feedback ν”Όλ“œλ°± CRUD
λ©˜ν‹° API
Method Endpoint μ„€λͺ…
GET /api/v1/study/daily?menteeId={id}&date={date} 일일 과제 쑰회
GET /api/v1/study/progress ν•™μŠ΅ 진척도
POST /api/v1/mentee/tasks/batch 과제 생성
PATCH /api/v1/study/tasks/{id} 과제 μƒνƒœ μ—…λ°μ΄νŠΈ
POST /api/v1/study/time-records ν•™μŠ΅ μ‹œκ°„ 기둝
POST /api/v1/mentee/study/tasks/{id}/submissions 과제 제좜

πŸ” 인증 & λ³΄μ•ˆ

  • JWT 기반 Stateless 인증 (Access Token 1μ‹œκ°„)
  • μ—­ν•  기반 μ ‘κ·Ό μ œμ–΄ (MENTOR / MENTEE)
  • Spring Security 기반 API 보호
  • Presigned URL 을 ν†΅ν•œ μ•ˆμ „ν•œ 파일 μ—…λ‘œλ“œ

🎨 λ””μžμΈ μ‹œμŠ€ν…œ

μš”μ†Œ κ°’
Primary #6D87ED
Light #8CA3FF
Lighter #DAE1FF
Gradient #ADBCF7 β†’ #6D87ED
Font System Default

πŸ‘₯ νŒ€ μ†Œκ°œ

λŸ°νƒ€μž„ - μ„€μŠ€ν„°λ””



Made with ❀️ by λŸ°νƒ€μž„

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors