Skip to content

AzuladoToujours/clothesstore-experimentality

Repository files navigation

Clothes Store Experimentality 👔

Features

  • Products list
  • Hot products
  • Search products by name
  • Product details
  • Create new product

Full swagger documentation here 👀

Development Requirements 🐧

  • Node JSv12^
  • PostgreSQL
  • npm v 7.x
  • Docker

Environment Variables 🌎

Should create a .env file in the root of the project with the following required values.

ENV={dev-prod}
NODE_ENV= {test-development-production}
DEV_HOST=0.0.0.0 
PROD_HOST=0.0.0.0
DEV_DATABASE_URL=postgres://{postgres_dev_user}:{postgres_dev_pwd}@{postgres_dev_host}:5432/clothesstoredev
TEST_DATABASE_URL=postgres://{postgres_test_user}:{postgres_test_pwd}@{postgres_test_host}:5432/clothesstoretest
PROD_DATABASE_URL=postgres://{postgres_prod_user}:{postgres_prod_pwd}@{postgres_prod_host}:5432/clothesstoreprod
PORT=8080
AWS_ACCESS_KEY={aws_IAM_key}
AWS_SECRET_ACCESS_KEY={aws_secret_IAM_key}
REGION={aws_region}
DEV_BUCKET={dev_s3_bucket}
PROD_BUCKET={prod_s3_bucket}

Docker Deployment 🐋

In the deployment folder, you should see a docker-compose.yml file; this is the configuration file to deploy the application in docker, you must change the environment variables (specified with {}) in order to execute the file, whereas docker-compose or docker in swarm mode.

Docker-compose 🐙

Requirements

  • Docker
  • docker-compose

Execute in the deployment folder.

  • Option 1
sh runcompose.sh
  • Option 2
docker-compose up -d

Docker Swarm 🐳

Requirements

  • Docker
  • Docker in swarm mode.

Execute in the deployment folder.

  • Option 1
sh runstack.sh
  • Option 2
docker stack deploy -c docker-compose.yml clothes_store

Database Architecture

Database relational architecture.

Infrastructure

AWS infrastructure

CI/CD Pipeline

CI/CD life cicle.

About

Experimentality's technical test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages