Skip to content

Micro-services based scalable form collection service

License

Notifications You must be signed in to change notification settings

VDliveson/SurgeForms

Repository files navigation

SurgeForms

Overview

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.

Tools and technologies used

  • Docker
  • Python
  • RabbitMQ
  • NodeJS
  • External APIs
  • Golang (In progress)

Architecture Diagram

image



Important

Some features are not implemented yet as shown in the diagram

Running the application

Running the Application

  1. Install Docker : Ensure Docker is installed on your system. You can download it from Docker's official website.

  2. 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
  3. 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

  4. 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

  1. Stop the Application : To terminate the application, run the following command -
    docker compose down
  2. Clean Up Docker Images ( Optional ) : To clean up unused Docker images and free up space, run the following command :
    docker image prune -a

About

Micro-services based scalable form collection service

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published