Skip to content

a scalable microservices application to manage movie data, integrating multiple services for a seamless user experience. The project leveraged Go and Node for back-end processing, with gRPC for efficient service-to-service communication and RabbitMQ for message brokering.

License

Notifications You must be signed in to change notification settings

islamghany/greenlight

Repository files navigation

Microservices project for movies.

This project contains a microservices application written mostly in Go, which will be updated periodically as I learn more about backend engineering, including scalability, security, performance, and best practices in modern system design.

Architecture overview

Greenlight Architecture

Greenlight client application(still not finished)

Tech Stack

GoLang

postgres

Node.js

MongoDB

redis

nginx

rabbitmq

docker

grpc

elastic

Ts

PASETO

protobuf

swagger

Installation

The installation is very simple the only required thing is to have docker and docker-compose installed on your machine.

First clone the project

git clone https://github.com/islamghany/greenlight.git

then go the project folder in inside greenlight project.

cd ./greenlight/project

then run the docker compose up to generate containers.

docker compose up

to stop the containers hit Ctrl+C

to Stop containers and removes containers, networks, volumes, and images created by docker compose up command.

docker compose down

if you made a change in the code and you want to see just rebuild the images with

docker compose up --build

Usage

After installation, you may want to interact with the project. So, you can open the swagger API and play with the project APIs through this URL

http://localhost:3050/v1/swagger/

Swagger

Also if you registered as a user you may want to check the mail through the mail service dashboard, since an activation token is sent to your registered mail.

you can open the email-testing dashboard through the link

http://localhost:8025/

Swagger

About

a scalable microservices application to manage movie data, integrating multiple services for a seamless user experience. The project leveraged Go and Node for back-end processing, with gRPC for efficient service-to-service communication and RabbitMQ for message brokering.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published