Skip to content
/ jugo Public

a file sharing app developed using microservice architecture

Notifications You must be signed in to change notification settings

bethel-m/jugo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

File Sharing App

This project demonstrates a file sharing application built with microservices architecture, Docker containers, and AWS cloud integration. It showcases the following:

Microservices:

  • Golang API: Handles file uploads and pushes them to a Redis task queue.
  • Python Service: Consumes tasks from the Redis queue, processes files, and updates user data in a PostgreSQL database.

Docker Containers:

Each microservice is packaged as a Docker container for easy deployment and scalability.

AWS Cloud Integration:

The application is deployed on AWS

Task Queue (Redis):

Used for asynchronous communication between microservices and improved scalability.

Usage

  • The golang API is the entry point for the application, clients can be developed to interact with it, or use postman.
  • The client application will upload textfiles, which the Golang API will receive.
  • The Golang API will push the uploaded file including details like username of the file owner to the Redis task queue.
  • The Python service will continuously consume tasks from the queue.
  • For each task, the Python service:
    • Retrieves the username.
    • Connects to the PostgreSQL database.
    • Checks if the user's text file already exists.
    • If yes, appends the uploaded file content to the existing text file.
    • If no, stores the uploaded file content as a new text file for the user.

About

a file sharing app developed using microservice architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published