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
-
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
-
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
-
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.
-
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
-
User Interaction: Users interact with the platform via the mobile or web app.
-
API Requests: Client apps communicate with the Next.js backend via RESTful API endpoints.
-
Data Storage: Backend reads from and writes to Cloud Firestore and MongoDB as appropriate.
-
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.