Современное Next.js 14 приложение для философской школы с иерархической системой доступа к знаниям.
- Frontend: Next.js 14 (App Router), React 18, TypeScript 5.4
- State Management: TanStack Query 5.55 (server state), Zustand 5.0 (client state)
- Database: PostgreSQL/MySQL с Prisma ORM
- Authentication: NextAuth.js (Auth.js) с JWT tokens
- Offline Storage: Dexie 4.0 / IDB 8.0 (IndexedDB)
- Validation: Zod 3.23
- Testing: Vitest 1.6 + fast-check (property-based testing)
- PWA: Service Worker, manifest.json
.
├── app/ # Next.js App Router
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Landing page (Level 1)
│ ├── globals.css # Global styles
│ └── api/ # API routes
├── components/ # React components
├── lib/ # Utility functions
├── hooks/ # Custom React hooks
├── services/ # Business logic services
├── store/ # Zustand stores
├── types/ # TypeScript type definitions
├── schemas/ # Zod validation schemas
├── test/ # Test files
│ ├── unit/ # Unit tests
│ ├── properties/ # Property-based tests
│ ├── integration/ # Integration tests
│ ├── setup.ts # Test setup
│ └── helpers/ # Test utilities
└── prisma/ # Prisma schema and migrations
npm installСкопируйте .env.local.example в .env.local и заполните переменные:
cp .env.local.example .env.localnpm run devОткройте http://localhost:3000 в браузере.
# Запустить все тесты
npm test
# Запустить тесты с UI
npm run test:ui
# Запустить тесты с покрытием
npm run test:coverage# Проверить код
npm run lint
# Форматировать код
npm run formatПриложение построено на принципах:
- Offline-first: Все данные кешируются локально в IndexedDB
- Server Components: Используются для статического контента
- Client Components: Используются для интерактивности
- Progressive Disclosure: Функциональность раскрывается постепенно
- Type Safety: TypeScript и Zod для валидации
- Пропилеи - Главная страница с манифестом
- Инициация - Философская инициация после регистрации
- Тривиум - Лента времени с эссе и аудио
- Квадривиум - Семинары (открывается после N прочитанных эссе)
- Эпоптея - Личный контакт с ментором (ручная активация)
Полная документация находится в .kiro/specs/philosophical-school-platform/:
requirements.md- Требования к системеdesign.md- Дизайн и архитектураtasks.md- План реализации
Private