Skip to content

WallyS02/The-Plug

Repository files navigation

The Plug

Herb trading service store based on Beta Reputation System.

Run Locally

Clone the project

  git clone https://github.com/WallyS02/The-Plug

Run with Docker

Before you begin, ensure that you have the following tools installed on your system:

Go to the project directory

  cd The-Plug

Run docker-compose-local.yml with docker compose up

  docker-compose -f docker-compose-local.yml up  

Run backend

Before running backend locally, ensure you have the following prerequisites installed on your system:

Go to the project directory

  cd backend/the_plug_backend_django

Before running backend locally run Postgres database in docker container

  docker-compose -f docker-compose-local.yml up -d db

Install requirements

  pip install -r requirements.txt

Make migrations and migrate

  python manage.py makemigrations
  python manage.py migrate
  python manage.py loaddata api/fixtures/herbs.json

Run application

  python manage.py runserver 0.0.0.0:8080

Once the application is running, you can access it locally by navigating to http://localhost:8080.

Run frontend

Before running frontend locally, ensure you have the following prerequisites installed on your system:

Go to the project directory

  cd frontend/the_plug_svelte_frontend

Install dependencies

  npm install

Run the Development Server

  npm run dev

This will start the development server, and you can access the application at http://localhost:80 in your web browser.

Important directories and files

  • .github - directory that contains GitHub Actions pipelines
  • ansible - directory that contains Ansible configurations that can be used in project
  • aws - directory that contains AWS cloud architecture for application and it's implementation using IaC practise with Terraform
  • azure - directory that contains Azure cloud architecture implementation using IaC practise with Terraform
  • backend - directory that contains backend application code
  • documentation - directory that contains application design and it's diagrams
  • frontend - directory that contains frontend application code
  • jenkins - directory that contains local Jenkins configuration files
  • k8s - directory containing Minikube cluster and k8s application configuration
    • azure-backend - Kubernetes manifests prepared to deploy in Azure cloud for The Plug
    • cluster-setup - directory that contains cluster configurations (including NGINX Ingress Controller, Prometheus, Grafana and Loki monitoring) and scripts that run and configure cluster
    • helm - directory that contains Helm charts for application
    • raw - directory that contains raw Kubernetes manifests for application
  • .gitlab-ci.yml - main GitLab CI/CD pipeline, which uses gitlab-ci-local, that triggers child pipelines located in backend, frontend and k8s subdirectories
  • docker-compose-local.yml - docker-compose file that allows running application locally

Roadmap

  • prepare project design
  • create backend application
  • create frontend application
  • create Docker images
  • create Kubernetes (raw + Helm) deployment
  • prepare AWS cloud architecture
  • create example unit, integration, e2e and performance tests
  • create IaC Terraform configuration for application's AWS cloud
  • create GitHub Actions, GitLab CI/CD (gitlab-ci-local) and Jenkins CI/CD pipelines
  • complete final README

Authors

About

Herb trading service store based on Beta Reputation System.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors