https://github.com/samshad/mindful-eating-frontend
A React Native Expo app that pairs with the Mindful Eating Backend to deliver personalized, AI‑powered mindful‑eating guidance. Users complete a Big Five personality survey, receive daily tips tailored to their dominant trait, log meals with photos, and chat with an interactive coach to build healthier eating habits.
https://github.com/samshad/mindful-eating-frontend
expo react-native
Last synced: 22 days ago
JSON representation
A React Native Expo app that pairs with the Mindful Eating Backend to deliver personalized, AI‑powered mindful‑eating guidance. Users complete a Big Five personality survey, receive daily tips tailored to their dominant trait, log meals with photos, and chat with an interactive coach to build healthier eating habits.
- Host: GitHub
- URL: https://github.com/samshad/mindful-eating-frontend
- Owner: samshad
- License: agpl-3.0
- Created: 2025-04-28T03:38:58.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-10T04:22:35.000Z (about 1 year ago)
- Last Synced: 2025-05-10T05:23:32.215Z (about 1 year ago)
- Topics: expo, react-native
- Language: JavaScript
- Homepage:
- Size: 34.7 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Mindful Eating Frontend🧘♀️🍲




## Overview
The **Mindful Eating Frontend** is a React Native application built with **Expo** that pairs with the [Mindful Eating Backend](https://github.com/samshad/mindful-eating-backend) to deliver a personalized mindful-eating experience. Users can:
- **Register** and **login** securely.
- Complete a **Big Five** personality questionnaire.
- Receive **daily AI-generated** mindful-eating tips tailored to their dominant big5 trait.
- **Log meals** with photos and review a timeline.
- **Chat** with the AI coach in an interactive interface.
- **Manage** their profile details and targeted eating behaviors.
- Get **network connection** alerts and **custom toast** notifications.
## Features
- **Authentication Flows**
Screens for registration, login, and password reset.
- **Survey & Onboarding**
Collect basic info and Big Five trait responses.
- **Daily Tips**
AI-powered tips generation with the backend.
- **Meal Logging**
Capture or upload meal images and view in-app timeline.
- **Chat Interface**
Real-time messaging with conversational tips.
- **Profile Management**
View and edit profile, update target behavior.
## Tech Stack
| Category | Dependencies |
|--------------------|---------------------------------------------------------------|
| Mobile Framework | React Native · Expo |
| Navigation | `@react-navigation/native` · `@react-navigation/native-stack` |
| State Management | React Context API |
| Networking | Axios (`axios`) |
| Forms & Validation | Formik · Yup |
| Media Handling | `expo-image-picker` · `expo-permissions` |
| Storage | AsyncStorage (`@react-native-async-storage/async-storage`) |
| Notifications | `react-native-toast-message` |
| Connectivity | `@react-native-community/netinfo` |
## Repository Structure
```
mindful-eating-frontend/
├── assets/ # Fonts, images, static assets
├── component/ # Reusable UI components (Buttons, Inputs, Cards)
├── screens/ # Screen components for different flows
│ ├── auth/ # Auth: Register, Login, ForgotPassword
│ ├── initial/ # Onboarding: Survey, UserProfileSubmission
│ ├── dashboard/ # Home screen & ChatScreen
│ └── profile/ # Profile screens & behavior update
├── utils/ # Helper functions (API client, toastConfig)
├── App.js # Root navigator & NetInfo check
├── index.js # Expo entry point
├── app.json # Expo configuration
├── eas.json # EAS build settings
├── package.json # Dependencies & scripts
└── .gitignore
```
## Environment Setup
1. **Clone the repo**
```bash
git clone https://github.com/samshad/mindful-eating-frontend.git
cd mindful-eating-frontend
```
2. **Install dependencies**
```bash
npm install
# or
yarn install
```
3. **Configure environment**
Create or update the `utils/config.js` file with your backend API URL.
It should look something like this:
```javascript
// utils/config.js
export const BASE_URL = 'https://your-backend-api-url.com/api/v1'; // Replace with your actual backend URL
// Add other global configurations here if needed
```
## Running the App
Launch the Expo development server:
```bash
npx expo start -c
```
- Press `i` to open on iOS simulator.
- Press `a` to open on Android emulator.
- Scan the QR code with Expo Go on mobile devices.
## Scripts
| Command | Description |
|-----------------|--------------------------------------|
| `expo start` | Start Metro bundler |
| `expo build` | Build standalone binaries (legacy) |
| `eas build` | Run EAS build for iOS & Android |
| `npm run lint` | Lint codebase (if configured) |
| `npm test` | Run tests (if any are added) |
## Contributing
1. Fork the repository.
2. Create a feature branch: `git checkout -b feature/my-feature`
3. Commit changes: `git commit -m "Add my feature"`
4. Push branch: `git push origin feature/my-feature`
5. Open a Pull Request and describe your changes.
## Acknowledgements
This project was undertaken as a research project for my Master of Applied Computer Science program at Persuasive Computing Lab, Dalhousie University.
**Supervisors:** Dr. Rita Orji & Dr. Oladapo Oyebode
## Companion Backend Service
This frontend application communicates with the **Mindful Eating Backend** for data persistence, AI-powered tip generation, and business logic.
- **Backend Repository:** [samshad/mindful-eating-backend](https://github.com/samshad/mindful-eating-backend)
## License
This project is licensed under the GNU Affero General Public License v3.0.
See the [LICENSE](LICENSE) file for details.
© 2025 Md Samshad Rahman (Persuasive Computing Lab, Dalhousie University)