Comparator

Comparator is a comprehensive mobile solution for Tunisian users, providing daily price aggregation from multiple supermarkets. The aggregation process is handled by a dedicated microservice built with JavaScript, which scrapes data daily and is automated via Cron jobs.

The application efficiently separates data storage, with product data in MongoDB to handle unstructured information, stored through a dedicated microservices built with Spring Batch, and user data in MariaDB for structured relational data.

The mobile interface, developed in Flutter, provides a performant, cross-platform experience that allows users to access all features conveniently on the go.

The system is built on Spring Boot with a microservices architecture for scalability and Docker for containerized deployments, with automated CI/CD pipelines using GitHub Actions. The development process is tracked and managed with Jira.

Key Features

  • Daily price aggregation from multiple supermarkets
  • Scheduled data scraping with Cron jobs
  • Differentiated data storage for structured and unstructured data
  • Cross-platform mobile app built with Flutter
  • OAuth authentication with Facebook and Google
  • Secure and scalable microservices architecture
  • Dockerized deployment with CI/CD automation using GitHub Actions
PFE

Project Details

Technologies Used

Spring BootSpring SecuritySpring BatchJavaScriptGitHubGitFlutterREST APIFacebook AuthGoogle AuthMariaDBMongoDBDockerMicroservicesGitHub ActionsScrum AgileJiraCronUbuntu Server