Skip to content

Clue-ess-coder/hng13-stage6-devops

 
 

Repository files navigation

HNG13 DevOps Stage6 Task

This Repo Contains the code for a microservice application comprising of several components communicating to each other. In other words, this is an example of microservice. These microservices are written in different languages.

The app itself is a simple TODO app that additionally authenticates users.

Components

  1. Frontend part is a Javascript application, provides UI. Created with VueJS
  2. Auth API is written in Go and provides authorization functionality. Generates JWT tokens to be used with other APIs.
  3. TODOs API is written with NodeJS, provides CRUD functionality ove user's todo records. Also, it logs "create" and "delete" operations to Redis queue, so they can be later processed by Log Message Processor.
  4. Users API is a Spring Boot project written in Java. Provides user profiles. Does not provide full CRUD for simplicity, just getting a single user and all users.
  5. Log Message Processor is a very short queue processor written in Python. It's sole purpose is to read messages from Redis queue and print them to stdout

The diagram describes the various components and their interactions. microservice-app-example

Note: 3 different login details are provided in the .env file

Running with Docker Compose

To run all the services together using Docker Compose, run the following command:

docker-compose up --build

This will build the Docker images for all the services and start them.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 42.9%
  • Vue 20.6%
  • Java 11.3%
  • HCL 9.5%
  • Go 9.5%
  • Python 2.8%
  • Other 3.4%