This Application was built as a Microservices experiment in order to validate and experience the trade-offs of decision making related to the architecture and organization of each project.
The main objective was to develop skills that would allow me to better understand the architectural implications of different approaches when dealing with distributed systems.
git submodule update --init To run this project, you will need to add the following environment variables to your .env file
| Parameter | Description | Purpose |
|---|---|---|
DB_HOST |
Database Address | Hostname or IP Address to connect to the database |
DB_USER |
Database Connection | Database Connection Parameter |
DB_PASSWORD |
Database Connection | Database Connection Parameter |
RABBITMQ_USER |
RabbitMQ User | User that will be used as container variable |
RABBITMQ_PASSWORD |
RabbitMQ User | Password that will be used as container variable |
JWT_KEY |
Random Value Key | It should be consistent within the other complementary projects |
You can use the following .env suggested file format
DB_HOST=
DB_USER=
DB_PASSWORD=
RABBITMQ_USER=
RABBITMQ_PASSWORD=
JWT_KEY=
TELEGRAM_KEY=
In order to run the project locally must have a container daemon such as Docker or Podman installed and then run the following command
Start Services
docker compose -f compose.yml --env-file .env upStop Services
docker compose downBy using the deploy script the .env file will be automatically set and the docker images will be renewed (if previously created) or created.
./deploy.sh -u <database_user> -p <database_password> -h <database_host> -t <telegram_key> -r <rabbitmq_user>