Skip to content

depromeet/gryffindor

Repository files navigation

BOB-EAT

Gryffindor Logo

Welcome to the Gryffindor repository!

🔧 Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • State Management: Zustand, Tanstack Query v5
  • Styling: Tailwind CSS
  • Architecture: Feature-Sliced Design (FSD)
  • Lint/Formatter: Biome
  • Utils: Husky

🚀 Getting Started

Installation

pnpm install

Development Server

pnpm dev

📋 FSD Layer Rules

1. Import Rules

Each layer can only import from layers below it:

app → pages → widgets → features → entities → shared

2. Export Patterns

Shared Layer

Export by segments individually:

// ✅ Recommended
import { Button, Modal } from '@/shared/ui'
import { formatDate, debounce } from '@/shared/lib'
import { httpClient } from '@/shared/api'

// ❌ Avoid
import { Button, formatDate, httpClient } from '@/shared'

Features & Entities Layer

Public API pattern:

// features/auth/index.ts
export { LoginForm, SignupForm } from './ui'
export { useAuthStore } from './model'
export { authApi } from './api'

3. State Management Location

Global State (app/store)

  • Authentication state
  • App settings (theme, language)
  • Global UI state (modal, toast)

Feature State (features/*/model)

  • Page-specific form state
  • Filter and search state
  • Feature-specific temporary data

Entity State (entities/*/model)

  • Server data cache
  • Domain object state

About

디프만 17기 2팀 "밥잇" 프론트엔드 레포지토리

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages