Tzine Platform Architecture

Restaurants Review Platform – High Level Architecture Overview

Overview

A multi-platform Restaurants Review Platform designed to enable users to browse, review, and manage restaurants. The platform supports both mobile and web access with distinct functionalities for users and administrators.

Components

  1. Mobile Application

Technology: Flutter
Purpose: Provides end-users with access to browse restaurants, submit reviews, and interact with the platform via mobile devices.

Key Features:

  • Restaurant discovery

  • Review submission and personal Profile management

  1. Web Application

Technology: Next.js

Purpose: Serves as both the public-facing website and the administrative interface.

Key Areas:

  • Public Pages: Restaurant listings, user reviews, registration/login

  • Admin Pages: Restaurant management, review moderation, analytics API Endpoints: Serves data to both web and mobile clients

  1. Databases

Cloud Firestore: Stores real-time data for user interactions, such as reviews and ratings.

MongoDB: Handles persistent storage of restaurant metadata and administrative records.

  1. Third-party services

Resend Service: Email Service for Automatic confirmation email to users and Admin notification email for new submissions

PrivateEmail: Email Client

Data Flow Overview

  1. User Interaction: Users interact with the platform via the mobile or web app.

  2. API Requests: Client apps communicate with the Next.js backend via RESTful API endpoints.

  3. Data Storage: Backend reads from and writes to Cloud Firestore and MongoDB as appropriate.

  4. Administration: Admins manage platform content and moderate reviews via the web admin interface.

Integration & Synchronisation

  • All platform components are integrated to ensure real-time updates and consistency across mobile and web.

  • Data models and endpoints are aligned with the architecture visualized in the system canvas.

Updated on