This is a project aimed at creating microservices for form collection and performing asynchronous operations on the form data that scales well across a large number of users.
- Docker
- Python
- RabbitMQ
- NodeJS
- External APIs
- Golang (In progress)
Important
Some features are not implemented yet as shown in the diagram
-
Install Docker : Ensure Docker is installed on your system. You can download it from Docker's official website.
-
Clone the Repository : Clone the repository using either of the following methods -
- HTTP:
git clone https://github.com/VDliveson/SurgeForms
- SSH:
git clone [email protected]:VDliveson/SurgeForms.git
- HTTP:
-
Add Environment Files : Add a
.env
file in each microservice folder within the repository. Ensure all required environment variables are specified in these files as given in.example.env
files -
Start the Application : In the root directory of the repository, run the following command to start the microservices:
docker compose up
Note
This may take a couple of minutes to initialize
- Stop the Application :
To terminate the application, run the following command -
docker compose down
- Clean Up Docker Images ( Optional ) :
To clean up unused Docker images and free up space, run the following command :
docker image prune -a