57 lines
1.1 KiB
Markdown
57 lines
1.1 KiB
Markdown
# DailyMeals — Angular frontend
|
|
|
|
Angular 19 rewrite of the React `meal-plan-frontend` app.
|
|
|
|
## Stack
|
|
|
|
- Angular 19 (standalone components)
|
|
- Tailwind CSS 3
|
|
- `@ngx-translate` (EN / PL)
|
|
- Reactive forms
|
|
- JWT auth with silent refresh (`AuthInterceptor`)
|
|
|
|
## Development
|
|
|
|
```bash
|
|
cd meal-plan-frontend-angular
|
|
npm install
|
|
npm start
|
|
```
|
|
|
|
App runs at **http://localhost:4200** with API proxied to `http://localhost:5000` (`proxy.conf.json`).
|
|
|
|
Ensure the ASP.NET API is running locally before signing in.
|
|
|
|
## Production build
|
|
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
Output: `dist/meal-plan-frontend-angular/browser/`
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
docker build -t dailymeals-angular .
|
|
```
|
|
|
|
Uses nginx with HTTPS and `/api` reverse proxy (same pattern as the React frontend).
|
|
|
|
## Routes
|
|
|
|
| Path | Page |
|
|
|------|------|
|
|
| `/login`, `/register` | Auth (public) |
|
|
| `/` | Dashboard |
|
|
| `/breakfast` … `/dinner` | Category lists |
|
|
| `/all-meals` | Search, select, PDF export |
|
|
| `/manage-meals` | Manual add + Excel import |
|
|
| `/recipes/:id` | Recipe detail |
|
|
|
|
## i18n
|
|
|
|
Translation files: `public/i18n/en.json`, `public/i18n/pl.json`
|
|
|
|
Language preference stored in `localStorage` key `dailymeals.lang`.
|