A full-fledged DevOps boilerplate designed to help you rapidly prototype, develop, and manage a scalable web application. This starter pack incorporates cutting-edge technologies across the stack, ensuring that both development and operations are streamlined.
- Introduction
- Key Technologies
- DevOps Practices
- Testing Frameworks
- Setup and Installation
- Usage
- Contributing
- License
This project is a comprehensive starter kit for building and deploying a microservices application using React, NestJS, and MongoDB. It is designed to incorporate best practices in CI/CD, monitoring, logging, and infrastructure management, providing a robust framework for modern software development and deployment. This starter kit aims to simplify the setup process, making it easier for developers to focus on building features rather than configuring infrastructure.
- Frontend: React (with optional state management tools like Redux)
- Backend: Nest.js
- Database: MongoDB
- Caching: Redis (optional)
- Infrastructure as Code: Terraform (optional)
- Containerization: Docker
- Orchestration: Kubernetes (Minikube for local development)
- CI/CD Pipelines: GitLab CI, GitHub Actions
- Monitoring & Logging: Prometheus, Grafana, ELK Stack
- Package Management: Helm
- Frontend Tests: Cypress
- Backend Tests: Jest
-
Prerequisites:
- Node.js (version X.X.X)
- Docker
- Terraform (optional)
- Minikube (for local Kubernetes)
- Helm
-
Clone the Repository:
git clone https://github.com/Hamza119612/devops-universal-starter.git
-
Install Dependencies:
- Frontend:
cd frontend yarn install
- Backend:
cd backend yarn install
- Frontend:
-
Environment Configuration: Create a
.env
file in the root directory of both thefrontend
andbackend
folders using the provided.env.example
as a template. Ensure you add necessary environment variables such as database connection strings, API keys, etc. -
Start the Application:
- Frontend:
cd frontend yarn start
- Backend:
cd backend yarn start:dev
- Frontend:
-
Run Docker Containers (Optional): If you prefer Docker containers for the application, build and run the provided Docker Compose configuration:
docker-compose up -d