DarkMage108 /
next-enterprise
🏢 A scalable and production-ready Next.js boilerplate with TypeScript, Tailwind CSS, ESLint, Prettier, and testing tools — perfect for enterprise-grade web apps.
63/100 healthLoading repository data…
bhavyajshah / repository
A production-ready, enterprise-grade Node.js + Express.js backend boilerplate with TypeScript, Supabase, comprehensive security, email verification, real-time monitoring, and extensive testing.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A production-ready, enterprise-grade Node.js + Express.js backend boilerplate with TypeScript, Supabase, comprehensive security, email verification, real-time monitoring, and extensive testing.
src/
├── config/ # Configuration files
│ ├── database.ts # Supabase configuration
│ ├── logger.ts # Winston logger setup
│ ├── production.ts # Production configuration manager
│ └── security.ts # Security middleware configuration
├── database/ # Database schema and migrations
│ └── schema.sql # Database schema
├── constants/ # Application constants
│ └── errorCodes.ts # Standardized error codes
├── controllers/ # Route controllers
│ ├── authController.ts
│ ├── emailController.ts
│ ├── healthController.ts
│ └── userController.ts
├── middlewares/ # Custom middleware
│ ├── auth.ts # Authentication middleware
│ ├── errorHandler.ts # Error handling middleware
│ └── performance.ts # Performance monitoring middleware
├── routes/ # Route definitions
│ ├── authRoutes.ts
│ ├── emailRoutes.ts
│ ├── healthRoutes.ts
│ ├── userRoutes.ts
│ └── index.ts
├── services/ # Business logic services
│ ├── authService.ts
│ ├── emailService.ts
│ └── userService.ts
├── utils/ # Utility functions
│ └── formatters.ts # Data formatting utilities
├── types/ # TypeScript type definitions
│ ├── database.ts # Database types
│ └── index.ts # Common types
├── validation/ # Validation schemas and middleware
│ ├── schemas/ # Validation schemas
│ │ ├── authValidation.ts
│ │ ├── userValidation.ts
│ │ └── commonValidation.ts
│ ├── middleware/ # Validation middleware
│ │ ├── validationHandler.ts
│ │ └── sanitization.ts
│ └── index.ts
├── tests/ # Test files
│ ├── unit/ # Unit tests
│ │ ├── authService.test.ts
│ │ └── validation.test.ts
│ └── integration/ # Integration tests
│ └── auth.test.ts
├── docs/ # Documentation
│ ├── API.md # API documentation
│ ├── DEPLOYMENT.md # Deployment guide
│ ├── SECURITY.md # Security guide
│ └── OPTIMIZATION.md # Performance guide
└── index.ts # Application entry point
logs/ # Application logs (auto-created)
database-setup.sql # Unified database setup file
DATABASE_SETUP.md # Database setup guide
Clone the repository
git clone <repository-url>
cd express-typescript-supabase-boilerplate
Install dependencies
npm install
# or
yarn install
# or
pnpm install
Set up Supabase Database
database-setup.sqlConfigure environment variables
cp .env.example .env
Update .env with your Supabase credentials:
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
JWT_SECRET=your_super_secret_jwt_key_here
JWT_REFRESH_SECRET=your_super_secret_refresh_jwt_key_here
Start development server
npm run dev
The server will start on http://localhost:5000 with API documentation at http://localhost:5000/.
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| POST | /api/auth/register | Register new user | No |
| POST | /api/auth/login | User login | No |
| POST | /api/auth/refresh | Refresh access token | No |
| POST | /api/auth/logout | User logout | No |
| GET | /api/auth/profile | Get user profile | Yes |
| POST | /api/auth/change-password | Change password | Yes |
| Method | Endpoint | Description | Auth Required |
|---|---|---|---|
| GET | /api/email/verify?token=<token> | Verify email address | No |
| POST | /api/email/resend-verification | Resend verification email | No |
| Method | Endpoint | Description | Auth Required | Admin Only |
|---|---|---|---|---|
| GET | /api/users/stats | Get user statistics | No | No |
| GET | /api/users/me | Get current user | Yes | No |
| GET | /api/users | List all users | Yes | Yes |
| GET | /api/users/:id | Get user by ID | Yes | No |
| PUT | /api/users/:id | Update user | Yes | No* |
| PATCH | /api/users/:id/deactivate | Deactivate user | Yes | Yes |
| PATCH | /api/users/:id/activate | Activate user | Yes | Yes |
| DELETE | /api/users/:id | Delete user | Yes | Yes |
| PATCH | /api/users/:id/role | Update user role | Yes | Yes |
*Users can only update their own profile unless they're admin
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/health | Real-time server and database health status |
Health Check Response includes:
Register: POST /api/auth/register
{
"name": "John Doe",
"email": "john@example.com",
"password": "SecurePass123!"
}
Note: Registration automatically sends a verification email
Verify Email: GET /api/email/verify?token=<verification_token>
Login: POST /api/auth/login
{
"email": "john@example.com",
"password": "SecurePass123!"
}
Use Access Token: Include in Authorization header
Authorization: Bearer <access_token>
Refresh Token: POST /api/auth/refresh (refresh token sent as httpOnly cookie)
Resend Verification (if needed): POST /api/email/resend-verification
{
"email": "john@example.com"
}
| Variable | Description | Default |
|---|---|---|
PORT | Server port | 5000 |
NODE_ENV | Environment mode | development |
SUPABASE_URL | Supabase project URL | Required |
SUPABASE_ANON_KEY | Supabase anonymous key | Required |
SUPABASE_SERVICE_ROLE_KEY | Supabase service role key | Required |
JWT_SECRET | JWT signing secret | Required |
JWT_EXPIRES_IN | JWT expiration time | 24h |
JWT_REFRESH_SECRET | Refresh token secret | Required |
JWT_REFRESH_EXPIRES_IN | Refresh token expiration | 7d |
BCRYPT_SALT_ROUNDS | Bcrypt salt rounds | 12 |
RATE_LIMIT_WINDOW_MS | Rate limit window | 900000 |
RATE_LIMIT_MAX_REQUESTS | Max requests per window | 100 |
ALLOWED_ORIGINS | CORS allowed origins | http://localhost:3000 |
FRONTEND_URL | Frontend URL for email links | http://localhost:3000 |
LOG_LEVEL | Logging level | info |
The project includes a comprehensive, unified database setup file that handles:
database-setup.sql in your Supabase SQL Editoradmin@example.comAdmin123!@#To enable actual email sending, integrate with:
Selected from shared topics, language and repository description—not editorial ratings.
DarkMage108 /
🏢 A scalable and production-ready Next.js boilerplate with TypeScript, Tailwind CSS, ESLint, Prettier, and testing tools — perfect for enterprise-grade web apps.
63/100 healthsalacoste /
Complete TypeScript SDK for OZON Seller API with 278 methods across 33 categories. Production-ready with comprehensive documentation, framework integrations, and enterprise-grade architecture.
68/100 healthconnectaryal /
🚀 A modern, type-safe, and performance-optimized Google Analytics 4 (GA4) tracking library for React and Next.js applications. Features comprehensive ecommerce tracking, automatic event batching, SSR support, and production-ready error handling. Built with TypeScript for enterprise-grade reliability.
DevOwaisAli /
Enterprise-grade authentication and authorization platform built with NestJS, PostgreSQL, Redis, JWT, RBAC, MFA, OAuth2, SAML SSO, multi-tenancy, and production-ready security architecture.
68/100 healthMhamedEl-shahawy /
A modern, production-ready React application boilerplate built with Vite, TypeScript, and enterprise-grade features. This boilerplate provides a solid foundation for building scalable web applications
46/100 health27manavgandhi /
A production-ready authentication and post scheduling system built with Node.js, TypeScript, Express, MongoDB, and Bull job queues. Features enterprise-grade rate limiting, API versioning, queue monitoring, analytics tracking, and comprehensive documentation.
43/100 health