Cloud based product for managing metadata in media

Artem Gryn

0

Backend Engineer

Database Engineer

Software Engineer

JavaScript

MongoDB

Spring Boot

SaaS application, AWS based solution for big content providers that allows to manage complex metadata. Key points: scalable, microservice architecture
Products: AccedoOne, AppGrid.
Product main goal to give ability to content providers maintain and control "look-and-feel" of the end-customers applications.

Main challenges:

be able to scale fast - from 70k requests per minute to 5-7 millions per minute within 3-5 minuntes
API performance - API can return complex JSO objects that may be dynamically constructed for each customer

Simplified AWS clod diagram with main services used:

Service fully based on the cloud(AWS). Java services packed into Docker containers and deployed with ECS. Main data storage represented with MongoDB and S3.
S3
EC2
Load balancer
auto-scaling
DocumentDD/MongoDB
Elastic container service
redshift
Main AWS services used: S3, EC2, ECS, load-balancer, DocumentDB, redshift
Main AWS services used: S3, EC2, ECS, load-balancer, DocumentDB, redshift

Architecture diagram:

SaaS gives business managers a way to set required parameters to their applications and end users consuming those data via delivery API
SaaS gives business managers a way to set required parameters to their applications and end users consuming those data via delivery API
Management console: initially AngularJS and after some time migrated to ReactJS
Front-end API: SpringBoot service, S3, Spring Security - users can authenticate with their ow credentials and all API requests controlled by the individual permissions granted to each user
Microservices: domain drive designed services with Spring Boot and uses MongoDB for main data storage and for data analytics used Redshift and RabbitMQ
Delivery API: represented by the highly scaleable gateway service writen with GoLang

Additional features:

Management API - API designed for system-to-system communication with unique API key for each user and allow to control data by integrating with other systems
Analytics - app usage data collection and representing it via dynamic charts and dashboards
A/B testing - gives ability to test changes only with some group of people before beploing to all users
Like this project
0

Posted Sep 23, 2024

Designed and implemented a backend and frontend solution with MongoDB and Spring Boot, successfully meeting business needs for media and content providers.

Likes

0

Views

4

Clients

Accedo

Tags

Backend Engineer

Database Engineer

Software Engineer

JavaScript

MongoDB

Spring Boot

Anti money laundry/know your customer application for Finance
Anti money laundry/know your customer application for Finance
Pay-by-parts system
Pay-by-parts system