Welcome to the NYAM Cloud Computing repository! This repository is part of the larger NYAM ecosystem and focuses on backend services and cloud infrastructure for managing nutrition analysis and food recommendations. Below is an overview of the architecture, folder structure, and instructions for contributing and running this repository.
-
Users
- Users interact with the application through their mobile devices.
-
Main Backend
- Edamam API: Handles requests for food data.
- Cloud Run: Hosts the backend services.
- Cloud Build: Builds Docker images for deployment.
- Firebase:
- Firebase Authentication: Manages user authentication.
- Firebase Firestore: Stores user data and preferences.
-
Bucket Storage
- Stores food history images, ML models, and backend repositories.
-
Machine Learning Service
- Hosted on Cloud Run.
- Processes food images and provides nutritional analysis.
-
Scheduler
- Includes Cloud Scheduler, Cloud Pub/Sub, and Cloud Functions to reset daily nutritional needs.
This repository is organized into three main folders:
This folder contains cloud functions that handle scheduled tasks such as resetting daily nutrition data.
Refer to the Cloud Function README for detailed instructions.
This folder hosts the Machine Learning API for food image processing and nutritional analysis. The API loads ML models from cloud storage and processes requests for predictions.
Refer to the Machine Learning API README for setup and usage details.
This folder includes the main backend logic for handling API requests, interacting with Firebase, and managing food data from external APIs like Edamam.
Refer to the Main API README for more information.
- Google Cloud Product (Or Another Cloud Provider): For deploying.
- Machine Learning Model: For image recognition, and BMR Rate Calculator. Refer to the Machine Learning Repositories. Or Another Model.
- Mobile Apps: For use this application. Refer to the Mobile Develpoment Repositories. Or Another Front-End Application.
