feat: initial implementation — all 35 requirements across phases 1-3
Backend (Spring Boot 3.2 / Java 21 / PostgreSQL): - JWT auth with BCrypt password hashing - User profile + Mifflin-St Jeor BMR calculator - Food search + barcode via OpenFoodFacts API with local cache - Meal CRUD with user data isolation and ownership checks - AI photo analysis (OpenAI Vision) with confidence intervals - AI correction feedback loop for personalisation - Flyway DB migrations + RFC-7807 error responses Mobile (React Native / TypeScript): - Full navigation stack (Auth → Tabs → Home stack) - Design tokens (WCAG 2.2 AA colours, 8px grid, 48px touch targets) - 10 screens: Login, Register, Home, Search, Camera, AI Result, Edit Meal, Daily Details, History, Profile - Confidence-aware calorie display (kcal ± range) - Repeat last meal shortcut + macro tracking Docs: - docs/PLAN-AND-REQUIREMENTS.md - docs/traceability.csv (35 requirements, all Implemented)
This commit is contained in:
43
mobile/package.json
Normal file
43
mobile/package.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"name": "calorie-counter-mobile",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"android": "react-native run-android",
|
||||
"ios": "react-native run-ios",
|
||||
"start": "react-native start",
|
||||
"test": "jest",
|
||||
"lint": "eslint src --ext .ts,.tsx"
|
||||
},
|
||||
"dependencies": {
|
||||
"react": "18.2.0",
|
||||
"react-native": "0.73.6",
|
||||
"@react-navigation/native": "^6.1.17",
|
||||
"@react-navigation/bottom-tabs": "^6.5.20",
|
||||
"@react-navigation/native-stack": "^6.9.26",
|
||||
"react-native-screens": "^3.31.1",
|
||||
"react-native-safe-area-context": "^4.10.1",
|
||||
"react-native-camera": "^4.2.1",
|
||||
"@react-native-community/slider": "^4.5.2",
|
||||
"axios": "^1.7.2",
|
||||
"@react-native-async-storage/async-storage": "^1.23.1",
|
||||
"react-native-vector-icons": "^10.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.24.0",
|
||||
"@babel/preset-env": "^7.24.0",
|
||||
"@babel/runtime": "^7.24.0",
|
||||
"@react-native/eslint-config": "^0.73.2",
|
||||
"@react-native/metro-config": "^0.73.5",
|
||||
"@tsconfig/react-native": "^3.0.3",
|
||||
"@types/react": "^18.2.72",
|
||||
"@types/react-native": "^0.73.0",
|
||||
"@types/react-native-vector-icons": "^6.4.18",
|
||||
"typescript": "5.0.4",
|
||||
"jest": "^29.6.3",
|
||||
"@testing-library/react-native": "^12.4.3"
|
||||
},
|
||||
"jest": {
|
||||
"preset": "react-native"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user