π 2025.07.07 ~ μ§νμ€(λ§μ§λ§ λ°°ν¬ - 2025.08.13)
κΈ°μ‘΄ 체ν¬λ¦¬μ€νΈ μλΉμ€μ νκ³μ
- λ¨μν ν μΌμ 체ν¬νλ κ²λ§μΌλ‘λ μ§μμ μΈ λκΈ°λΆμ¬ λΆμ‘±
- λͺ©νμ μΌμ κ΄λ¦¬κ° λΆλ¦¬λμ΄ μμ΄ μ²΄κ³μ μΈ μμ°μ± κ΄λ¦¬ μ΄λ €μ
- λ°μ΄ν° λμ λ° μΈμ¬μ΄νΈ μ 곡 λΆμ¬λ‘ κ°μ μ νμ νκ³
- ν μΌ κ΄λ ¨ μλ£λ λ©λͺ¨λ₯Ό 체κ³μ μΌλ‘ κ΄λ¦¬ν μ μλ κΈ°λ₯ λΆμ‘±
λͺ©ν μ€μ¬μ ν΅ν© μμ°μ± κ΄λ¦¬
- λͺ©ν-ν μΌ-μκ° μ°κ²°: ν° λͺ©νλ₯Ό μΈλΆννμ¬ μ€ν κ°λ₯ν ν μΌλ‘ λΆν΄
- μ€μκ° μκ° μΆμ : νμ΄λ¨Έ κΈ°λ₯μΌλ‘ μ§μ€λ μΈ‘μ λ° μκ° κ΄λ¦¬ μ΅μ ν
- λ°μ΄ν° κΈ°λ° μΈμ¬μ΄νΈ: ννΈλ§΅κ³Ό ν΅κ³λ‘ μμ°μ± ν¨ν΄ λΆμ λ° κ°μ μ μ μ
- μΌμ κ΄λ¦¬ ν΅ν©: λλκ·Έ μ€ λλ‘μΌλ‘ μ§κ΄μ μΈ μ€μΌμ€λ§
- ν΅ν©λ 컨ν μΈ κ΄λ¦¬: κ° ν μΌμ νμΌ, λ§ν¬, λ ΈνΈλ₯Ό 첨λΆνμ¬ λͺ¨λ μ 보λ₯Ό ν κ³³μμ κ΄λ¦¬
π FlowIt ννμ΄μ§ λ°λ‘κ°κΈ°
π API λͺ
μΈμ λ°λ‘κ°κΈ°
π Back-End Repository
κ°λ€λΉ
- ν λ¦¬λ© λ΄λΉ
- λμ보λ μκ°ν λ΄λΉ
- λμ보λ μ 체 λ μ΄μμ μ€κ³ λ° λ°°μΉ
- μ£Ό/μ λ¨μ ννΈλ§΅ λΆμ κ·Έλν ꡬν
- λ§κ°μΌ μΊλ¦°λ ꡬν (λͺ©ν λ±μ§ λ λλ§)
κΉκΈ°μ
- μ½ν
μΈ λ° μμΈ νμ΄μ§ λ΄λΉ
- λͺ©ν, ν μΌ, λ ΈνΈ λ¦¬μ€νΈ, μμΈλ³΄κΈ° ꡬν
- λ ΈνΈ μμ€ν ꡬν
- λͺ©ν, ν μΌ μμ± λͺ¨λ¬ ꡬν
μ΄λμ½
- κΈ°λ° μ€κ³ λ° μ¬μ©μ μΈμ¦, CI/CD, λ°°ν¬ λ΄λΉ
- λ€λΉκ²μ΄μ μ¬μ΄λλ° κ΅¬ν
- μΈμ¦ λ‘μ§ κ΄λ¦¬
- μΈνλΌ μ€μ
μμν
- λμ보λ μΈν°λμ
κΈ°λ₯ λ΄λΉ
- νμ΄λ¨Έ νλ‘ν μμ ― λͺ¨λ¬ ꡬν
- μΌμ ν κ΄λ¦¬ λͺ¨λ¬ μ 체 κΈ°λ₯ ꡬν
- λͺ©νλ³ ν μΌ μΉ΄λ ꡬν
π¦ src
β£ π app # Next.js App Router
β β£ π (main) # λ©μΈ μ ν리μΌμ΄μ
κ·Έλ£Ή
β β β£ π dashboard # λμ보λ νμ΄μ§
β β β£ π goal # λͺ©ν κ΄λ ¨ νμ΄μ§
β β β π todo # ν μΌ κ΄λ ¨ νμ΄μ§
β β£ π auth # μΈμ¦ νμ΄μ§ (login, signup)
β β£ π oauth # OAuth μ½λ°± μ²λ¦¬
β β£ π api # API λΌμ°νΈ νΈλ€λ¬
β β π providers # Context Provider μ€μ
β£ π components # UI μ»΄ν¬λνΈ (κΈ°λ₯λ³ λΆλ¦¬)
β β£ π auth # μ¬μ©μ μΈμ¦ (μ΄λμ½)
β β£ π goals # λͺ©ν κ΄λ¦¬ (κΉκΈ°μ )
β β£ π heatmaps # ννΈλ§΅ μκ°ν (κ°λ€λΉ)
β β£ π calendar # μΊλ¦°λ μμ€ν
(κ°λ€λΉ)
β β£ π timer # νμ΄λ¨Έ μμ ― (μμν)
β β£ π schedule # μΌμ κ΄λ¦¬ (μμν)
β β£ π todos # ν μΌ κ΄λ¦¬ (κΉκΈ°μ )
β β£ π notes # λ
ΈνΈ μμ€ν
(κΉκΈ°μ )
β β£ π sidebar # λ€λΉκ²μ΄μ
(μ΄λμ½)
β β π ui # κ³΅ν΅ UI μ»΄ν¬λνΈ
β£ π hooks # Custom Hooks (λΉμ¦λμ€ λ‘μ§ λΆλ¦¬)
β£ π store # Zustand μ μ μν κ΄λ¦¬
β£ π api # API ν΅μ λ μ΄μ΄
β β£ π mapper # λ°μ΄ν° λ³ν λ μ΄μ΄
β£ π interfaces # TypeScript νμ
μ μ
β£ π lib # μ νΈλ¦¬ν° ν¨μ
β£ π constants # μμ μ μ
β£ π mocks # MSW κ°λ° νκ²½
β β£ π handlers # API νΈλ€λ¬
β β π mockResponses # λͺ© μλ΅ λ°μ΄ν°
β£ π stories # Storybook μ»΄ν¬λνΈ λ¬Έμν
β£ π tests # ν
μ€νΈ νμΌ
β π assets # μ μ 리μμ€ (μμ΄μ½, μ΄λ―Έμ§)
νλ‘μ νΈμ λ£¨νΈ λλ ν 리μ .env νμΌμ μμ±ν©λλ€.
μ΄ νμΌμ μλμ κ°μ νκ²½ λ³μ νλͺ©μ μΆκ°ν΄μ£ΌμΈμ.
(μ€μ κ°μ μ¬λ¬λΆμ νκ²½μ λ§κ² μ
λ ₯ν΄μΌ ν©λλ€.)
NEXT_PUBLIC_BASE_URL=<your-backend-api-url>
NEXT_PUBLIC_KAKAO_API_KEY=<your-kakao-api-key>
NEXT_PUBLIC_KAKAO_MAP_KEY=<your-kakao-map-api-key>
NEXT_PUBLIC_KAKAO_REST_KEY=<your-kakao-rest-api-key>
// Chromatic
CHROMATIC_PROJECT_TOKEN=<your-chromatic-token>
// Aws ec2
NEXT_PUBLIC_BASE_URL=<your-backend-api-url>
// S3 & CloudFront
CLOUDFRONT_IMAGE_URL=<your-cloudfront-url>
NEXT_PUBLIC_CLOUDFRONT_IMAGE_URL=<your-cloudfront-url>
// Redis
UPSTASH_REDIS_REST_URL=<your-redis-url>
UPSTASH_REDIS_REST_TOKEN=<your-redis-token>
//kakao
NEXT_PUBLIC_KAKAO_REST_API_KEY=<your-kakao-key>
NEXT_PUBLIC_KAKAO_REDIRECT_URI=<your-kakao-redirect-url>