Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Byte me Byte me
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 5
    • Issues 5
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • JuvrajSingh.-
  • Byte meByte me
  • Wiki
  • Deliverable 3
  • System Architecture

System Architecture · Changes

Page history
Update System Architecture authored Apr 09, 2025 by Wenjun.Chen's avatar Wenjun.Chen
Hide whitespace changes
Inline Side-by-side
Deliverable-3/System-Architecture.md
View page @ 5ae462a3
## Diagram Draw.io ## Diagram Draw.io
https://drive.google.com/file/d/1U3z9awKPSR87_BAfbhGwMDf_M8W0wWpE/view?usp=sharing https://drive.google.com/file/d/1U3z9awKPSR87_BAfbhGwMDf_M8W0wWpE/view?usp=sharing
**System Architecture Discussion** **System Architecture Discussion**
The Smart Grocery Management Mobile App adopts a modular and scalable architecture consisting of four main layers: **Client Devices, Backend Server, Database, and External Services**. This structure ensures a clear separation of concerns, high maintainability, and strong support for collaborative and intelligent grocery management features. The Smart Grocery Management Mobile App adopts a modular and scalable architecture consisting of four main layers: **Client Devices, Backend Server, Database, and External Services**. This structure ensures a clear separation of concerns, high maintainability, and strong support for collaborative and intelligent grocery management features.
**Client Devices (Mobile App)** **Client Devices (Mobile App)**
The client is built using React Native and runs on both Android and iOS platforms via Expo Go. It allows users to: The client is built using React Native and runs on both Android and iOS platforms via Expo Go. It allows users to:
- Log in and register securely - Log in and register securely
- Manage grocery inventory - Manage grocery inventory
...@@ -12,7 +12,7 @@ The client is built using React Native and runs on both Android and iOS platform ...@@ -12,7 +12,7 @@ The client is built using React Native and runs on both Android and iOS platform
- Receive AI generated recipe suggestions - Receive AI generated recipe suggestions
The app communicates with the backend using HTTPS and JSON via REST API, ensuring secure and standardized data exchange. The app communicates with the backend using HTTPS and JSON via REST API, ensuring secure and standardized data exchange.
**Backend Server (Node.js/Express)** **Backend Server (Node.js/Express)**
The backend uses Node.js with Express to expose REST API endpoints for: The backend uses Node.js with Express to expose REST API endpoints for:
- /users: Handles login, registration, and password reset - /users: Handles login, registration, and password reset
- /group: Manages group creation, joining, leaving, and ownership transfer - /group: Manages group creation, joining, leaving, and ownership transfer
...@@ -21,8 +21,8 @@ These endpoints are organized under a RESTful architecture, simplifying integrat ...@@ -21,8 +21,8 @@ These endpoints are organized under a RESTful architecture, simplifying integrat
- Email based password verification using Nodemailer - Email based password verification using Nodemailer
- AI recipe querying - AI recipe querying
- Calorie and BMI analysis - Calorie and BMI analysis
-
**Database (MongoDB via Mongoose)** **Database (MongoDB via Mongoose)**
All data is persistently stored in a MongoDB database with the help of Mongoose for schema validation and object modeling. Collections include: All data is persistently stored in a MongoDB database with the help of Mongoose for schema validation and object modeling. Collections include:
- users: Account data, BMI, preferences - users: Account data, BMI, preferences
- groups: Group metadata and member mapping - groups: Group metadata and member mapping
...@@ -30,10 +30,10 @@ All data is persistently stored in a MongoDB database with the help of Mongoose ...@@ -30,10 +30,10 @@ All data is persistently stored in a MongoDB database with the help of Mongoose
- logs: Food consumption and financial records - logs: Food consumption and financial records
This design allows flexible schema evolution and efficient querying, supporting features like group synchronization and historical analytics This design allows flexible schema evolution and efficient querying, supporting features like group synchronization and historical analytics
**External Services** **External Services**
Two external APIs enhance app intelligence and communication: Two external APIs enhance app intelligence and communication:
- Gmail SMTP (via Nodemailer): Used to send 6 digit verification codes for password reset. This ensures secure identity validation - Gmail SMTP (via Nodemailer): Used to send 6 digit verification codes for password reset. This ensures secure identity validation
- Spoonacular API: Allows the backend to generate intelligent meal suggestions based on real time inventory and nutritional goals - Spoonacular API: Allows the backend to generate intelligent meal suggestions based on real time inventory and nutritional goals
| Attribute | Architectural Support | | Attribute | Architectural Support |
| ------ | ------ | | ------ | ------ |
......
Clone repository
  • Deliverable 2
    • Requirements Statement
    • UML Class Model
    • Use Case Descriptions and Scenarios
    • Use Case Model
  • Deliverable 3
    • Final Document
      • Challenges and How We Solved Them
      • Key summary of all participants
      • Video Link
    • System Architecture
    • Updated Class diagram
    • Updated Use case Diagram
  • Functional Properties
  • Participation Journal
View All Pages