AI-powered Algerian nutrition tracker — photo scan, barcode, meal plans, community recipes (Spring Boot + Expo)
# NutriDz
AI-powered Algerian nutrition tracking app — Spring Boot backend + Python AI microservice + Expo (React Native) mobile.
## What it does
- 📷 **AI photo scan** — point at a meal, get the dish identified (with Algerian dishes recognized) plus calories, macros, and a NutriScore
- 📊 **Barcode scanner** — scan packaged products against a 184-product Algerian database
- 🍽️ **Daily journal** — log meals by type (breakfast/lunch/dinner/snack), track macros, see weekly history
- 💧 **Hydration tracking** — quick water logging with 6 preset cup/bottle sizes
- ⚖️ **Weight & BMI** — log weight, see line chart over 7d / 30d / 3m / all, motivational status messages
- 🤖 **AI nutritionist chat** — multilingual (FR · AR · EN) Q&A backed by NVIDIA NIM, with markdown rendering and quick-start prompts
- 📅 **Meal plan generator** — 3 / 5 / 7-day personalized plan with vegetarian / low-carb / Algerian-cuisine toggles
- 🏆 **Streaks & 20 achievements** — daily activity tracking with auto-unlock based on real user actions
- 👥 **Community** — publish recipes, like / comment / save / report, browse a feed of 8 seeded Algerian classics
- 📚 **Algerian dish library** — 15 traditional dishes with photos, regional origin (Constantine / Oran / Alger / Kabylie / Sahara), nutrition, history
- 🎯 **Custom targets** — calorie / macro / water goal customization with 4 macro presets (balanced / low-carb / high-protein / keto)
- 🔔 **Smart notifications** — meal reminders, hydration nudges, streak reminder
- 🌍 **3 languages** — French, English, Arabic (with proper RTL flip)
## Stack
| Layer | Tech |
|-------|------|
| Mobile | Expo SDK 54 · React Native · TypeScript · expo-router · TanStack Query · Zustand · i18next |
| Backend | Spring Boot 3.4 · Java 17 · jOOQ · MySQL 8 · Flyway · JWT · RabbitMQ |
| AI service | FastAPI · Python 3.11 · NVIDIA NIM (vision + text models) |
| Infra | Docker Compose · Maven |
## Repository layout
```
.
├── apps/
│ ├── mobile/ # Expo React Native …