Commit Graph

65 Commits

Author SHA1 Message Date
admins b480b56caf Redirect to role-based dashboard after login 2026-04-07 11:13:24 +05:00
admins 4e6ab6fd2b Configure Better Auth to use bcrypt for password hashing 2026-04-07 11:07:47 +05:00
admins c3aefa8a0f Fix auth client baseURL — use window.location.origin auto-detect 2026-04-07 11:01:49 +05:00
admins e1d24cef96 Stage 0 complete: deployed to school.second-brain.ru
Mark Stage 0 as complete in ROADMAP. App is live at
https://school.second-brain.ru with 3 test users seeded.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:57:14 +05:00
admins 1b028dc484 Fix: include prisma/migrations in Docker build context
Was accidentally excluded from .dockerignore, causing migrate deploy
to find no migration files and skip all schema creation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:53:19 +05:00
admins 4a627c3fad Add initial database migration
Generated baseline migration from Prisma 7 schema using:
  prisma migrate diff --from-empty --to-schema prisma/schema.prisma --script

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:52:49 +05:00
admins f0f13f22d9 Fix runner stage: copy full node_modules for Prisma CLI
Cherry-picking modules missed @prisma/engines and other required
binaries. Copy the entire node_modules to runner to ensure
prisma migrate deploy works correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:50:15 +05:00
admins 1153bcc13a Add Prisma 7 PostgreSQL adapter
Prisma 7 requires explicit database adapter for runtime connections.
- Install @prisma/adapter-pg + pg
- Update prisma.ts: use PrismaPg adapter with DATABASE_URL
- Update seed.ts: same adapter pattern
- Dockerfile: copy pg deps to runner stage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:48:08 +05:00
admins 0c88dcc535 Fix Prisma 7 client instantiation
In Prisma 7, connection URL is managed via prisma.config.ts.
PrismaClient constructor no longer accepts log options directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:46:43 +05:00
admins 017833cd99 Fix seed.ts import and exclude prisma dir from Next.js tsc
- seed.ts: use ../src/generated/prisma/client (Prisma 7 entry point)
- tsconfig.json: exclude prisma/ so seed.ts is not type-checked by Next.js build

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:45:56 +05:00
admins d603b32ef5 Fix Prisma 7 import: use /client suffix
Prisma 7 no longer generates index.ts — entry point is client.ts.
Import changed from @/generated/prisma to @/generated/prisma/client.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:45:18 +05:00
admins 024cf7adac Fix build errors for Next.js 16 + Prisma 7
- Fix Prisma import: use @/generated/prisma alias (resolves Turbopack issue)
- Replace middleware.ts with proxy.ts (Next.js 16 convention)
- middleware function renamed to proxy

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:40:59 +05:00
admins 8d3ff24e52 Add production Docker setup
- Dockerfile: multi-stage build (deps → builder → standalone runner)
- docker-compose.prod.yml: app on port 3010 + PostgreSQL 16
- entrypoint.sh: runs prisma migrate deploy then starts node server
- next.config.ts: standalone output for minimal Docker image
- .dockerignore: exclude dev files from build context

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:38:33 +05:00
admins 2f52d869d9 Update CLAUDE.md: add Gitea URL rule
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:32:50 +05:00
admins 80ca4b2d9d Initialize Stage 0: Next.js 16 scaffold with auth and role-based routing
- Next.js 16.2.2 + React 19 + TypeScript + Tailwind v4
- Better Auth with email/password and role system (student/curator/admin)
- Prisma 7 schema: User, Session, Account, Verification + full LMS model
- Role-based dashboards: student /dashboard, curator /curator/dashboard, admin /admin/dashboard
- Auth pages: login, register, verify-email
- Better Auth API route handler
- Middleware for route protection
- Docker Compose with PostgreSQL 16
- Seed script with test users (admin/curator/student)
- CLAUDE.md and ROADMAP.md project documentation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 10:32:37 +05:00