Backend changes:
- Add better-auth and pg packages
- Create Better Auth instance with PostgreSQL adapter
- Add Better Auth route handler at /api/auth/*
- Create migration script for Better Auth database schema
- Update main index to use Better Auth routes instead of custom auth
- Configure email/password and OAuth (GitHub/Google) providers
Frontend changes:
- Add better-auth client
- Create Better Auth client instance configuration
- Update lib/auth.ts to use Better Auth session
- Rewrite sign-in page with Better Auth methods
- Rewrite sign-up page with Better Auth methods
- Remove NextAuth route handler
Documentation:
- Add comprehensive migration guide with setup instructions
- Document environment variables and API endpoints
- Include testing checklist and rollback plan
Benefits:
- Unified authentication for both Elysia backend and Next.js frontend
- Database-backed sessions (more secure than JWT)
- Better TypeScript support
- Extensible plugin system for future features
- Active development and frequent updates
- Install @tailwindcss/postcss for Tailwind v4 compatibility
- Update postcss.config.js to use new Tailwind PostCSS plugin
- Update npm to latest version in backend Dockerfile
- Fixes build failures with Next.js 16.1.6 and Tailwind CSS v4.2.0
- tailwindcss: 4.2.0 (beta) -> 3.4.19 (stable)
- tailwind-merge: 3.5.0 (beta) -> 2.6.1 (stable)
Tailwind v4 is still in beta and requires breaking config changes.
Sticking with v3 for stability.
Breaking changes for NextAuth v5:
- Updated route.ts to use NextAuthConfig and new export pattern
- Changed getServerSession import to use auth from config
- Updated types and session handling for NextAuth v5
- Maintained backward compatibility with existing auth flow