Skip to content

Latest commit

 

History

History
79 lines (67 loc) · 2.69 KB

README.md

File metadata and controls

79 lines (67 loc) · 2.69 KB

DevOps Universal Starter

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.

Table of Contents

  1. Introduction
  2. Key Technologies
  3. DevOps Practices
  4. Testing Frameworks
  5. Setup and Installation
  6. Usage
  7. Contributing
  8. License

Introduction

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.

Key Technologies

  • Frontend: React (with optional state management tools like Redux)
  • Backend: Nest.js
  • Database: MongoDB
  • Caching: Redis (optional)

DevOps Practices

  • 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

Testing Frameworks

  • Frontend Tests: Cypress
  • Backend Tests: Jest

Setup and Installation

  1. Prerequisites:

    • Node.js (version X.X.X)
    • Docker
    • Terraform (optional)
    • Minikube (for local Kubernetes)
    • Helm
  2. Clone the Repository:

    git clone https://github.com/Hamza119612/devops-universal-starter.git
  3. Install Dependencies:

    • Frontend:
      cd frontend
      yarn install
    • Backend:
      cd backend
      yarn install
  4. Environment Configuration: Create a .env file in the root directory of both the frontend and backend folders using the provided .env.example as a template. Ensure you add necessary environment variables such as database connection strings, API keys, etc.

  5. Start the Application:

    • Frontend:
      cd frontend
      yarn start
    • Backend:
      cd backend
      yarn start:dev
  6. Run Docker Containers (Optional): If you prefer Docker containers for the application, build and run the provided Docker Compose configuration:

    docker-compose up -d