A modern RESTful API template built with NestJS and Prisma, featuring comprehensive monitoring, logging, and deployment solutions.
- Framework: NestJS + Express
- Database: Prisma ORM
- Logging: Pino + nestjs-pino
- Caching: cache-manager
- Auth Strategy: Passport
- JWT Authentication: passport-jwt
- Google OAuth: passport-google-oauth20
- API Documentation: Swagger
- Distributed Tracing: OpenTelemetry
- Metrics: Prometheus
- Log Aggregation: Grafana Loki
- Alerting: Alertmanager
- Containerization: Docker + Docker Compose
- Orchestration: Kubernetes configurations
- Health Checks: Built-in health check endpoints
- Clone the project
git clone https://github.com/iamnivekx/nestjs-prisma-api
cd nestjs-prisma-api- Install dependencies
pnpm install- Environment configuration
cp .env.example .env
# Edit .env file to configure database connection and other settings- Database initialization
# Generate Prisma client
pnpm run prisma:generate
# Run database migrations
pnpm run prisma:migrate:dev- Start development server
pnpm run start:devThe application will start at http://127.0.0.1:4000, with Swagger documentation available at http://127.0.0.1:4000/docs.
Visit [Grafana Cloud Logs]https://grafana.com/orgs/{your-org-id}/hosted-logs/{your-dashboard-id}#sending-logs to get configuration information.
Configure in your .env file:
LOG_LOKI_HOST="your-loki-url"
LOG_LOKI_USERNAME="your-username"
LOG_LOKI_PASSWORD="Basic <Your Grafana.com API Token>"Visit [Grafana Cloud OTLP]https://grafana.com/orgs/{your-org-id}/stacks/{your-stack-id}/otlp-info to get configuration information.
Configure in your .env file:
OTEL_EXPORTER_OTLP_PROTOCOL="http/protobuf"
OTEL_EXPORTER_OTLP_ENDPOINT="https://otlp-gateway-prod-ap-southeast-1.grafana.net/otlp"
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Basic {your-api-key}"Use dockotlp to quickly set up a local monitoring environment:
git clone https://github.com/iamnivekx/dockotlp.git
cd dockotlp
docker compose up -d- Build image
docker-compose build- Start services
docker-compose up -d- Install dependencies and build
pnpm install
pnpm run build- Start production service
pnpm run start:prod- Development:
pnpm run prisma:migrate:dev - Production:
pnpm run prisma:migrate:deploy
src/
βββ api/ # API modules
β βββ auth/ # Authentication module
β βββ health/ # Health checks
β βββ users/ # User management
βββ common/ # Common modules
β βββ constants/ # Constant definitions
β βββ decorators/ # Custom decorators
β βββ guards/ # Guards
βββ config/ # Configuration module
βββ entities/ # Data entities
βββ prisma/ # Prisma configuration
βββ services/ # Business services
Issues and Pull Requests are welcome!
This project is licensed under the MIT License.
- grafana - Grafana
- dockotlp - Docker OpenTelemetry Prometheus Loki Grafana environment
- nestjs-prisma - NestJS Prisma integration
- nestjs-otel - OpenTelemetry integration
- nestjs-otel-prom-grafana-tempo - Monitoring stack integration examples






