From f54905abd0ff06cd5fce712153a5d4cb7e7e0374 Mon Sep 17 00:00:00 2001 From: Felipe Cardoso Date: Thu, 20 Nov 2025 09:45:03 +0100 Subject: [PATCH] Update README and documentation with i18n, feature enhancements, and SEO improvements - Added comprehensive details for internationalization (i18n) support via `next-intl`, including locale-based routing and type-safe translations. - Highlighted new UX features: animated marketing landing page, toasts, charts, markdown rendering, and session tracking. - Enhanced SEO capabilities with dynamic sitemaps, robots.txt, and locale-aware metadata. - Updated `/dev` portal information with live component playground details. - Documented newly integrated libraries, utilities, and testing updates for better developer insight. --- AGENTS.md | 18 ++++++++-- README.md | 57 ++++++++++++++++++++++++-------- frontend/src/lib/i18n/request.ts | 1 + 3 files changed, 61 insertions(+), 15 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 56f5b80..f181d0e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -82,6 +82,15 @@ Default superuser (change in production): - **Auto-generated client**: From OpenAPI spec via `npm run generate:api` - **Dependency Injection**: ALWAYS use `useAuth()` from `AuthContext`, NEVER import `useAuthStore` directly +### Internationalization (i18n) +- **next-intl v4**: Type-safe internationalization library +- **Locale routing**: `/en/*`, `/it/*` (English and Italian supported) +- **Translation files**: `frontend/messages/en.json`, `frontend/messages/it.json` +- **LocaleSwitcher**: Component for seamless language switching +- **SEO-friendly**: Locale-aware metadata, sitemaps, and robots.txt +- **Type safety**: Full TypeScript support for translations +- **Utilities**: `frontend/src/lib/i18n/` (metadata, routing, utils) + ### Organization System Three-tier RBAC: - **Owner**: Full control (delete org, manage all members) @@ -224,19 +233,24 @@ docker-compose exec backend python -c "from app.init_db import init_db; import a - User management (CRUD, password change) - Organization system (multi-tenant with RBAC) - Admin panel (user/org management, bulk operations) +- **Internationalization (i18n)** with English and Italian - Comprehensive test coverage (97% backend, 97% frontend unit, 56 E2E tests) - Design system documentation +- **Marketing landing page** with animations +- **`/dev` documentation portal** with live examples +- **Toast notifications**, charts, markdown rendering +- **SEO optimization** (sitemap, robots.txt, locale metadata) - Docker deployment ### In Progress ๐Ÿšง - Frontend admin pages (70% complete) -- Dark mode theme - Email integration (templates ready, SMTP pending) ### Planned ๐Ÿ”ฎ - GitHub Actions CI/CD +- Additional languages (Spanish, French, German, etc.) - Additional authentication methods (OAuth, SSO) +- Real-time notifications (WebSockets) - Webhook system - Background job processing - File upload/storage -- Notification system diff --git a/README.md b/README.md index e075a1d..09edace 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,24 @@ Instead of spending weeks on boilerplate, you can focus on building your unique - Comprehensive design system built on shadcn/ui + TailwindCSS - Pre-configured theme with dark mode support (coming soon) - Responsive, accessible components (WCAG AA compliant) -- Developer documentation at `/dev` (in progress) +- Rich marketing landing page with animated components +- Live component showcase and documentation at `/dev` + +### ๐ŸŒ **Internationalization (i18n)** +- Built-in multi-language support with next-intl v4 +- Locale-based routing (`/en/*`, `/it/*`) +- Seamless language switching with LocaleSwitcher component +- SEO-friendly URLs and metadata per locale +- Translation files for English and Italian (easily extensible) +- Type-safe translations throughout the app + +### ๐ŸŽฏ **Content & UX Features** +- **Toast notifications** with Sonner for elegant user feedback +- **Smooth animations** powered by Framer Motion +- **Markdown rendering** with syntax highlighting (GitHub Flavored Markdown) +- **Charts and visualizations** ready with Recharts +- **SEO optimization** with dynamic sitemap and robots.txt generation +- **Session tracking UI** with device information and revocation controls ### ๐Ÿงช **Comprehensive Testing** - **Backend Testing**: ~97% unit test coverage @@ -86,9 +103,10 @@ Instead of spending weeks on boilerplate, you can focus on building your unique ### ๐Ÿ“š **Developer Experience** - Auto-generated TypeScript API client from OpenAPI spec - Interactive API documentation (Swagger + ReDoc) -- Database migrations with Alembic -- Hot reload in development -- Comprehensive code documentation +- Database migrations with Alembic helper script +- Hot reload in development for both frontend and backend +- Comprehensive code documentation and design system docs +- Live component playground at `/dev` with code examples - Docker support for easy deployment - VSCode workspace settings included @@ -100,6 +118,9 @@ Instead of spending weeks on boilerplate, you can focus on building your unique - Health check endpoints - Production security headers - Rate limiting on sensitive endpoints +- SEO optimization with dynamic sitemaps and robots.txt +- Multi-language SEO with locale-specific metadata +- Performance monitoring and bundle analysis --- @@ -119,8 +140,13 @@ Instead of spending weeks on boilerplate, you can focus on building your unique - **[TypeScript](https://www.typescriptlang.org/)** - Type-safe JavaScript - **[TailwindCSS](https://tailwindcss.com/)** - Utility-first CSS framework - **[shadcn/ui](https://ui.shadcn.com/)** - Beautiful, accessible component library +- **[next-intl](https://next-intl.dev/)** - Internationalization (i18n) with type safety - **[TanStack Query](https://tanstack.com/query)** - Powerful data fetching/caching - **[Zustand](https://zustand-demo.pmnd.rs/)** - Lightweight state management +- **[Framer Motion](https://www.framer.com/motion/)** - Production-ready animation library +- **[Sonner](https://sonner.emilkowal.ski/)** - Beautiful toast notifications +- **[Recharts](https://recharts.org/)** - Composable charting library +- **[React Markdown](https://github.com/remarkjs/react-markdown)** - Markdown rendering with GFM support - **[Playwright](https://playwright.dev/)** - End-to-end testing ### DevOps @@ -448,33 +474,38 @@ docker-compose down - [x] User management (CRUD, profile, password change) - [x] Organization system with RBAC (Owner, Admin, Member) - [x] Admin panel (users, organizations, sessions, statistics) +- [x] **Internationalization (i18n)** with next-intl (English + Italian) - [x] Backend testing infrastructure (~97% coverage) - [x] Frontend unit testing infrastructure (~97% coverage) - [x] Frontend E2E testing (Playwright, zero flaky tests) - [x] Design system documentation -- [x] Database migrations +- [x] **Marketing landing page** with animated components +- [x] **`/dev` documentation portal** with live component examples +- [x] **Toast notifications** system (Sonner) +- [x] **Charts and visualizations** (Recharts) +- [x] **Animation system** (Framer Motion) +- [x] **Markdown rendering** with syntax highlighting +- [x] **SEO optimization** (sitemap, robots.txt, locale-aware metadata) +- [x] Database migrations with helper script - [x] Docker deployment - [x] API documentation (OpenAPI/Swagger) ### ๐Ÿšง In Progress -- [ ] Frontend admin pages (70% complete) -- [ ] Dark mode theme -- [ ] `/dev` documentation page with examples - [ ] Email integration (templates ready, SMTP pending) -- [ ] Chart/visualization components ### ๐Ÿ”ฎ Planned - [ ] GitHub Actions CI/CD pipelines - [ ] Dynamic test coverage badges from CI - [ ] E2E test coverage reporting +- [ ] Additional languages (Spanish, French, German, etc.) - [ ] Additional authentication methods (OAuth, SSO) +- [ ] Real-time notifications with WebSockets - [ ] Webhook system -- [ ] Background job processing -- [ ] File upload/storage -- [ ] Notification system -- [ ] Audit logging +- [ ] File upload/storage (S3-compatible) +- [ ] Audit logging system - [ ] API versioning example + --- ## ๐Ÿค Contributing diff --git a/frontend/src/lib/i18n/request.ts b/frontend/src/lib/i18n/request.ts index 1b5c303..67ae05d 100644 --- a/frontend/src/lib/i18n/request.ts +++ b/frontend/src/lib/i18n/request.ts @@ -1,3 +1,4 @@ +/* istanbul ignore file - Server-only next-intl middleware covered by E2E */ // src/i18n/request.ts /** * Server-side i18n request configuration for next-intl.