Code Monkey home page Code Monkey logo

project_photon's Introduction

Project Photon - The Google photos clone

A microservices-based photo gallery application designed for image upload with usage and storage monitoring. Developed using the MERN stack (MongoDB, Express.js, React.js, Node.js), the application is structured as separate microservices to enhance scalability and maintainability.

Features

  • User Account Management: Users can simply register and start using our application.
  • Image Upload: Users can easily upload images using the application.
  • Image Delete: Users can delete individual images.
  • Bulk Delete: Users can delete their images in bulk.
  • Logging: Tracks the activity of users.
  • Usage Monitoring: The application provides metrics for monitoring usage patterns.
  • Storage Monitoring: Tracks and displays storage usage for the uploaded images.

Architecture

The microservices architecture promotes a modular and scalable design:

  • Client (React.js): Provides the user interface.
  • Other Microservices (Node.js): Includes services for user authentication, user activity monitoring, and storage monitoring.

Architectural Diagram

image

Application

Landing page

Gallery

User photos page

myphoto

User activity page

Upload images page

Load testing cases

Tests invoked on frontend microservice:

100 users, 2 sec ramp-up period, 10 iterations

Throughput increased without any failure, as depicted here:

image

500 users, 2 sec ramp-up period, 50 iterations

25k requests were successfully served. Throughput 21.7/s, Spike was measured on GCP.

image

500 users, 2 sec ramp-up period, 100 iterations

Approximately 50k requests were 100% served. Throughput 29.3/s.

image

project_photon's People

Contributors

tayyibgondal avatar muhammadbinusman03 avatar syedabdulrab avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.