https://github.com/erenelmaci/backend-starter-ts
Node.js Backend Starter
https://github.com/erenelmaci/backend-starter-ts
bullmq docker-compose jwt-authentication k8s mongoose nodejs rabbitmq redis rest-api s3-bucket
Last synced: 3 months ago
JSON representation
Node.js Backend Starter
- Host: GitHub
- URL: https://github.com/erenelmaci/backend-starter-ts
- Owner: erenelmaci
- License: other
- Created: 2025-04-08T22:46:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-07T20:15:42.000Z (about 1 year ago)
- Last Synced: 2025-05-07T21:27:45.506Z (about 1 year ago)
- Topics: bullmq, docker-compose, jwt-authentication, k8s, mongoose, nodejs, rabbitmq, redis, rest-api, s3-bucket
- Language: TypeScript
- Homepage:
- Size: 23.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Backend Starter Kit - User Guide
## Overview
This backend starter kit provides a robust foundation for building scalable Node.js applications. It comes pre-configured with essential features and best practices, making it an ideal starting point for enterprise-level projects.
## Key Features
- 🔐 **Authentication System**: JWT-based authentication with Redis session management
- 📧 **Email System**: Template-based email service with SMTP support
- 📁 **File System**: S3 bucket integration with presigned URL support
- 📨 **Notification System**: Real-time notifications with WebSocket support
- 📊 **Queue Management**: Bull MQ and RabbitMQ integration for background jobs
- 📝 **Logging System**: Comprehensive logging infrastructure
- 📚 **API Documentation**: Swagger/OpenAPI documentation
- 🐳 **Docker Support**: Ready-to-use Docker configuration
## Quick Start
### Prerequisites
- Node.js (v16 or higher)
- Docker and Docker Compose
- MongoDB
- Redis
- AWS S3 (for file storage)
### Installation
1. **Clone the repository**
```bash
git clone [repository-url]
cd backend-starter-ts
```
2. **Environment Setup**
```bash
# Copy example environment file
cp .env.example
# For development
cp .env.development
# For production
cp .env.production
```
3. **Install dependencies**
```bash
npm install
```
4. **Start the application**
```bash
# Development mode
npm run start:dev
# Production mode
npm start
```
### Docker starter
```bash
# Build and start all services
docker-compose up -d
# View logs
docker-compose logs -f
```
### Kubernetes starter
```bash
# Build image
docker build -t backend-starter:latest .
# View logs
kubectl apply -f k8s/
```
## Project Structure
```
## Documentation
For detailed technical documentation, please refer to:
- [Backend Development Guide](developer-guide/backend.md)
- [DevOps Guide](developer-guide/devops.md)
- [Frontend Integration Guide](developer-guide/frontend.md)
## Environment Configuration
The application automatically loads the appropriate environment file based on `NODE_ENV`:
- Development: `.env.development`
- Production: `.env.production`
## Support
For technical support or questions, please contact:
- Email: info@bursayazilimevi.com
- Website: https://bursayazilimevi.com
## License
This project is licensed under the MIT License - see the LICENSE file for details.
```