A production-ready Node.js backend application built with TypeScript, Express, PostgreSQL, and modern best practices.
- 🚀 TypeScript support
- 🔐 JWT Authentication
- 📦 PostgreSQL with TypeORM
- 📝 Swagger API Documentation
- 🔍 Comprehensive logging
- 🛡️ Security best practices
- 🧪 Testing setup with Jest
- 🐳 Docker support
- 📊 Error handling
- 🔄 Rate limiting
- 📈 Health checks
- 🎯 Code quality tools (ESLint, Prettier)
- Node.js (v20 or later)
- PostgreSQL
- Docker (optional)
-
Clone the repository
-
Install dependencies:
npm install
-
Copy the environment file:
cp env.example .env
-
Configure your environment variables in
.env -
Start the development server:
npm run dev
npm run dev- Start development servernpm run build- Build for productionnpm start- Start production servernpm test- Run testsnpm run test:coverage- Run tests with coveragenpm run lint- Run ESLintnpm run format- Format code with Prettier
Build and run with Docker Compose:
docker-compose up --buildsrc/
├── api/ # API routes and controllers
├── config/ # Configuration files
├── services/ # Business logic
├── models/ # Data models
├── middleware/ # Custom middleware
├── utils/ # Helper functions
├── types/ # TypeScript type definitions
└── tests/ # Test files
API documentation is available at /api/v1/docs when the server is running.
Run the test suite:
npm testGenerate coverage report:
npm run test:coverage- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
ISC