Benfish Revelry Application - The goal was to build a food delivery service application with a delivery partner app, an admin panel, and a website, ensuring a seamless user experience and efficient backend management.

Phase 1: Benfish Revelry Application

Problem: The goal was to build a food delivery service application with a delivery partner app, an admin panel, and a website, ensuring a seamless user experience and efficient backend management.

Solution:

  1. Benfish Revelry Application:A food delivery service application developed in Java using the MVVM design pattern.

    Features:

    • User-friendly interface for customers to browse and order food.
    • Real-time order tracking.
    • Integration with a delivery partner app.
  2. Backend:
    • Admin panel and website built in PHP for managing orders, users, and other administrative tasks.
    • Database management using Room for efficient local data storage and synchronization.
Technology/Tools Used
Angular JS
 
XML
php
 
PHP
Angular JS
 
Java
Angular JS
 
Android

Phase 2: Infrastructure Upgrade and New System Design

Problem: The existing architecture had a single instance (t2 2x large) running both MySQL and Apache servers, which led to high costs and slow performance due to the generated logs and service loads.

Solution:

  1. Infrastructure Upgrade

    Server Instance Separation:

    • Created two t3 small instances to balance the load, mapping load balancers to the domain.
    • For MySQL, set up a t3 small instance in AWS RDS, where AWS managed logs and backups, reducing overhead.
    • Implemented log rotation for Apache and utilized AWS S3 for log and image storage, resulting in shared space for instances at a lower cost.
  2. Microservices Module

    Modular Architecture:

    • Developed separate modules for products, services, and notification services.
    • Ensured loose coupling between modules with separate tables.
  3. REST APIs:
    • Designed REST APIs using Kotlin Multi Platform.
    • Created Model, View, and Rest Controllers for API management.
    • APIs integrated with the existing website and applications.
  4. Control Panel:
    • Migrated control panels to Kotlin desktop.
    • Implemented caching for orders to prevent full module reloads, only updating from the last synced time.
  5. BAM (Benfish Async Messaging)

    Messaging System:

    • Built a half-duplex Server-Sent Events (SSE) system for order status and delivery tracking using Java Maven.
    • Enhanced real-time communication and tracking for orders.
Technology/Tools Used
Kotlin Programming
 
Kotlin
Kotlin Programming
 
Ubuntu
Kotlin Programming
 
Jetpack Compose
Kotlin Programming
 
AWS
php
 
PHP
Angular JS
 
Java

Share Your Thoughts:

We Can't Wait to Hear from You!