- Email/Password authentication
- Google OAuth integration
- JWT-based authentication with refresh tokens
- Email verification
- Password reset
- Two-factor authentication support
- File upload with S3/MinIO
- AI chat functionality
- OpenAPI documentation
- PostgreSQL - Primary database
- Redis - Caching and session management
- Drizzle ORM - Database ORM
- Passport.js - Authentication middleware
- Argon2 - Secure password hashing
- JWT - Token-based authentication
- Zod - Schema validation
- OpenAPI/Swagger - API documentation
- Zod-to-OpenAPI - Schema to OpenAPI conversion
- Nodemailer - Email sending
- React Email - Email templates
- OpenAI - AI services for chat functionality
- Vitest - Testing framework
- Biome - Linter and formatter
- pino - Logging
- Husky - Git hooks
- Docker & Docker Compose - Containerization
/src/config- Configuration files and environment setupappConfig.ts- Application configurationenv.ts- Environment variables validation
/db- Database schemas and migrations/schemas- Database table definitions and validation
/docs- OpenAPI/Swagger documentation/lib- Shared library code/middlewares- Express middlewares/modules- Feature modules/auth- Authentication functionality/chat- Chat and AI functionality/healthCheck- Health check endpoints/upload- File upload functionality/user- User management
/services- Business logic and external services/strategies- Passport.js authentication strategies
/utils- Utility functions and helpers