admins
8fdc67b4a5
Mark Stage 1.5 complete in ROADMAP
2026-04-07 12:01:19 +05:00
admins
e9eff5bae5
Stage 1.5: categories, enrollment expiry, access log, bulk grant, user page
2026-04-07 11:59:13 +05:00
admins
992763aeb9
Apply Second Brain design: Fira Mono, Aubade cards, brand palette
2026-04-07 11:51:20 +05:00
admins
09325187f9
Fix createLesson return type: void instead of string
2026-04-07 11:39:51 +05:00
admins
01a9ef482c
Fix DialogTrigger: remove asChild (base-ui doesn't support it)
2026-04-07 11:38:33 +05:00
admins
d356dddc96
Stage 1: Course/Module/Lesson CRUD admin UI with TipTap editor
2026-04-07 11:36:27 +05:00
admins
9d82b73e58
feat: initial commit
2026-04-07 11:30:38 +05:00
admins
da46f84ab8
Add S3 client for Hetzner Object Storage
2026-04-07 11:27:18 +05:00
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