feat(REQ-001): scaffold Ionic 8 + Angular 20 + Capacitor project

- Initialize Ionic tabs project with Angular 20 and Capacitor 8
- Configure 4-tab layout: Journal, Stats, Plans, Profile
- Create feature modules with lazy loading (home, stats, search, profile)
- Add core services stubs (meal, calorie-estimator, auth, storage)
- Add modal placeholders for manual and LLM input
- Apply Precision Vitality design system (colors, fonts, tonal layering)
- Configure Lexend + Plus Jakarta Sans typography
- Implement no-border design rule with tonal surface hierarchy
- Add food dictionary for AI calorie estimation
- Configure environment files with Firebase placeholders
- Set Capacitor appId: run.i_a.calorietracker
- Verify: ionic build and cap sync pass successfully

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-16 16:42:57 +02:00
parent 7fd03a99ba
commit 193a63bb4d
64 changed files with 20836 additions and 0 deletions

47
.eslintrc.json Normal file
View File

@@ -0,0 +1,47 @@
{
"root": true,
"ignorePatterns": ["projects/**/*"],
"overrides": [
{
"files": ["*.ts"],
"parserOptions": {
"project": ["tsconfig.json"],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/prefer-standalone": "off",
"@angular-eslint/component-class-suffix": [
"error",
{
"suffixes": ["Page", "Component"]
}
],
"@angular-eslint/component-selector": [
"error",
{
"type": "element",
"prefix": "app",
"style": "kebab-case"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"type": "attribute",
"prefix": "app",
"style": "camelCase"
}
]
}
},
{
"files": ["*.html"],
"extends": ["plugin:@angular-eslint/template/recommended"],
"rules": {}
}
]
}