Skip to content

Latest commit

ย 

History

790 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํˆฌ๋ฆฌ๋ธŒ(Toleave)

ํˆฌ๋ฆฌ๋ธŒ Toleave

์—ฌํ–‰ ๊ทธ๋ฃน ๊ด€๋ฆฌ ยท ์ผ์ • ๊ณ„ํš ยท ์‹ค์‹œ๊ฐ„ ์†Œํ†ต์„ ๋‹ด์€ ์—ฌํ–‰ ๋™ํ–‰ ์„œ๋น„์Šค

์„œ๋น„์Šค URL: https://toleave.cloud

Frontend Repo: https://github.com/likeliontravel/FE


๐Ÿ“– Introduction

Toleave Intro

  • ๊ทธ๋ฃน ๋ณ„ ์™„์„ฑํ•˜๋Š” ์—ฌํ–‰ ๊ณ„ํšํ‘œ
  • ์‹ค์‹œ๊ฐ„ ์†Œํ†ต์„ ๋•๋Š” ๊ทธ๋ฃน ์ฑ„ํŒ…
  • ๊ทธ๋ฃน ๋‹จ์œ„๋กœ ์ผ์ •์„ ๊ณ„ํš & ๊ณต์œ 
  • ์ง€์—ญ ๋ฐ ํ…Œ๋งˆ ๋ณ„ ํ•ซํ”Œ ๊ด€๊ด‘์ง€ & ์‹๋‹น & ์ˆ™์†Œ๋ฅผ ๊ณต์œ ํ•˜๋Š” ์—ฌํ–‰ ๊ฒŒ์‹œํŒ

๐Ÿ›  Tech Stack

Backend

Java17 Spring Boot Spring Security Spring Data JPA QueryDSL Spring Batch WebSocket

Auth

OAuth2 JWT

Database & Storage

MySQL Redis Google Cloud Storage Flyway

Test

JUnit5 Mockito JMeter

Monitoring

k6 Prometheus Spring Actuator

Infra & CI/CD

Docker Nginx AWS EC2 AWS Route53 GitHub Actions

External API

TourAPI

Co-Work

GitHub Notion Discord


๐Ÿ— System Architecture

๋ฐฐํฌ ์„œ๋ฒ„ Architecture

architect01


๐Ÿ—‚ ERD

erd


๐Ÿ“ก API Reference


โš™๏ธ Core Design & Implementation

WebSocket + STOMP ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…
flyway ๋„์ž…๊ณผ DB ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜

flyway๋Š” ๊ฐœ๋ฐœ ํ•˜๋Š” ์™€์ค‘์— sql๋ฌธ์„ ๊ฐ•์ œ๋กœ ์‚ฝ์ž…ํ•ด์„œ ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์ƒ๊ฒจ์„œ ๋„์ž…ํ–ˆ๋‹ค๊ณ  ํ•˜๋ฉด ๋ ๋ผ๋‚˜

k6 ํ…Œ์ŠคํŠธ & ๋ชจ๋‹ˆํ„ฐ๋ง ๋„์ž…

๐Ÿงฏ Troubleshooting Archive

์—ฌํ–‰์ง€ ํ•„ํ„ฐ๋ง ์กฐํšŒ API ์‘๋‹ต์‹œ๊ฐ„ ๊ฐœ์„ 

๋ฌธ์ œ ์ƒํ™ฉ

๋ฌธ์ œ์ƒํ™ฉ ์˜ˆ์‹œ

์›์ธ ๋ถ„์„ ๊ณผ์ •

1. ใ…กใ…กใ…ก

2. ใ…กใ…กใ…ก

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

1. ใ…กใ…กใ…ก

2. ใ…กใ…กใ…ก

3. ใ…กใ…กใ…ก

,,,

๋ฌธ์ œ ์ƒํ™ฉ

๋ฌธ์ œ์ƒํ™ฉ ์˜ˆ์‹œ

์›์ธ ๋ถ„์„ ๊ณผ์ •

1. ใ…กใ…กใ…ก

2. ใ…กใ…กใ…ก

ํ•ด๊ฒฐ ๋ฐฉ์•ˆ

1. ใ…กใ…กใ…ก

2. ใ…กใ…กใ…ก

3. ใ…กใ…กใ…ก


๐Ÿ‘ฅ Members


์•ˆํ˜œ๋ฆฐ

Design

jwj9127

Frontend

sitduk143

Frontend

JeongBuBu

Backend

Yeboong99

Backend

jjuchan

Backend

ANMNYG

Backend


๐Ÿš€ Getting Started

Environment Variables

# ===================================
# Toleave ํ”„๋กœ์ ํŠธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๊ธฐ๋ณธ ์ƒ˜ํ”Œ (.env.default)
# ์‹ค์ œ ๊ฐ’์€ ๋„ฃ์ง€ ๋ง๊ณ  ๊ฐ์ž ํ™˜๊ฒฝ์—์„œ ๋ฎ์–ด์“ฐ๊ธฐ
# ===================================

# ==============================
# Database (mySQL)
# ==============================
DB_URL=NEED_TO_SET

# ๋กœ์ปฌ ์•ฑ ์ˆ˜๋™์‹คํ–‰์šฉ username, password
DB_USERNAME=NEED_TO_SET
DB_PASSWORD=NEED_TO_SET

# ์ตœ์ดˆ MYSQL ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ์‹œ ์ดˆ๊ธฐํ™”์— ROOT์ ‘์†์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— root๊ณ„์ • ๋น„๋ฐ€๋ฒˆํ˜ธ ์žˆ์–ด์•ผ ํ•จ
MYSQL_ROOT_PASSWORD=TO_SET

# ==============================
# GCP
# ==============================
GCP_PROJECT_ID=NEED_TO_SET
GCP_CREDENTIALS_PATH=NEED_TO_SET

# ==============================
# JWT
# ==============================
JWT_SECRET=NEED_TO_SET

# ==============================
# Mail (Gmail SMTP)
# ==============================
MAIL_USERNAME=NEED_TO_SET
MAIL_PASSWORD=NEED_TO_SET
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587

# ==============================
# OAuth2 - Google
# ==============================
GOOGLE_CLIENT_ID=NEED_TO_SET
GOOGLE_CLIENT_SECRET=NEED_TO_SET

# ==============================
# OAuth2 - Naver
# ==============================
NAVER_CLIENT_ID=NEED_TO_SET
NAVER_CLIENT_SECRET=NEED_TO_SET

# ==============================
# OAuth2 - Kakao
# ==============================
KAKAO_CLIENT_ID=NEED_TO_SET
KAKAO_CLIENT_SECRET=NEED_TO_SET

# ==============================
# API
# ==============================
API_URL=NEED_TO_SET
SERVICE_KEY=NEED_TO_SET

# ==============================
# GCS
# ==============================
GCS_BUCKET_TOLEAVE=NEED_TO_SET
GCS_BUCKET_PROFILE=NEED_TO_SET
GCS_BUCKET_CHAT=NEED_TO_SET

# ==============================
# Redis
# ==============================
REDIS_HOST=localhost
REDIS_PORT=6379

# ==============================
# Spring Active Profile
# ==============================
SPRING_PROFILES_ACTIVE=local

# ==============================
# Spring Hibernate DDL Auto
# ==============================
DDL_AUTO=NEED_TO_SET

root directory .env.default ๋ณต์‚ฌ ํ›„ ๊ฐ ๋กœ์ปฌํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์„ธํŒ…ํ•ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€์„œ๋น„์Šค ํ‚ค ์ •๋ณด๋Š” ๋ฉ”์‹ ์ € ๊ณต์œ  ์ฐธ๊ณ .

Run

- ๋ฐฉ๋ฒ• 1๏ธโƒฃ: ๊ฐ ์‹œ์Šคํ…œ ๊ฐœ๋ณ„ ์‹คํ–‰

redis, mysql ๊ฐœ๋ณ„ ์‹คํ–‰ ํ›„ ./gradlew bootRun ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰

- ๋ฐฉ๋ฒ• 2๏ธโƒฃ: ๋„์ปค ์ปดํฌ์ฆˆ ์‚ฌ์šฉ

docker compose ์„ธํŒ… ํ™•์ธ ํ›„ docker-compose up --build


About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages