Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# Changelog v2.0
|
||||
|
||||
## [2.0.0] - 2026-05-11
|
||||
|
||||
### Added (Backend)
|
||||
- **Config**: 14 new env vars — `SYSTEM_OWNER_EMAIL`, social networks (4), analytics IDs (2), tariff toggle, slogan, mobile push stubs (2), accepted terms version
|
||||
- **Role system**: `role` field (user|moderator|admin|owner), `is_owner` flag, `permissions` JSONB for granular moderator rights
|
||||
- **Owner protection**: `SYSTEM_OWNER_EMAIL` locks one user as permanent owner — cannot be deleted, suspended, or demoted via API/UI
|
||||
- **Feedback system**: new `feedback` table + POST/GET/PATCH/DELETE endpoints + admin moderation
|
||||
- **Tariff system**: `tariff_plans` + `user_subscriptions` tables, admin CRUD, feature gating module (`FeatureGate`)
|
||||
- **Public config endpoint**: `GET /api/v1/config/public`
|
||||
- **BacklogTask `category` field**: separates features from general backlog items
|
||||
- **Service management**: systemd unit files (API, Worker, Beat) + restart endpoints (owner-only, production-guarded)
|
||||
- **Seed data**: `seed_database()` — Free tariff, 26 agent descriptions, owner by `SYSTEM_OWNER_EMAIL`
|
||||
- **Migration 002**: roles, tariffs, feedback, agent descriptions, backlog category
|
||||
|
||||
### Added (Frontend)
|
||||
- **Landing page**: public `/` with hero, features, CTA
|
||||
- **Legal pages**: `/privacy`, `/terms`, `/data-processing` with full content
|
||||
- **Register checkbox**: mandatory agreement to Terms & Data Processing
|
||||
- **Social footer**: GitHub + Telegram icons in Layout footer, legal links
|
||||
- **SEO**: meta keywords, Open Graph tags, Twitter Card, JSON-LD, robots.txt, sitemap.xml
|
||||
- **Analytics**: YandexMetrika + GAScript conditional components (empty ID = disabled)
|
||||
- **In-app documentation**: UserGuidePage, AdminDocumentationTab (role-filtered), HelpFAB, HelpDrawer
|
||||
- **Admin panel**: complete rewrite — 8 tabs (Users, Agents, Features, Logs, Feedback, Tariffs, Services, System)
|
||||
- Users tab: search, inline edit (name, email, role, active), delete, moderator permissions editor
|
||||
- Agents tab: list, toggle enable/disable
|
||||
- Features tab: create, cycle status (pending→in_progress→done)
|
||||
- Logs tab: filter by level/source
|
||||
- Feedback tab: filter by status, change status, delete
|
||||
- Tariffs tab: create with JSON features, toggle active, delete
|
||||
- Services tab: restart systemd services (owner-only, production)
|
||||
- System tab: version, environment, DB status, Python version, uptime
|
||||
- Docs tab: role-filtered administration guide
|
||||
- **Settings page**: `/settings` — profile, security (change password), voice, theme (dark/light), integrations, tariff info
|
||||
- **User settings link** in Layout header nav
|
||||
- **FeedbackForm component**: textarea + submit, success state
|
||||
- **Feedback page**: `/feedback` standalone page
|
||||
- **API modules**: `config.ts`, `feedback.ts`, `tariffs.ts`, `admin.ts` (full CRUD)
|
||||
- **AuthContext**: updated User interface with role, is_owner, permissions
|
||||
- **SEOHead component**: dynamic title/meta per page
|
||||
|
||||
### Changed
|
||||
- `User` model: `is_superuser` → property based on `role`, added `is_owner`, `permissions` (JSONB), `accepted_terms_at`, `accepted_terms_version`
|
||||
- `RegisterPage`: added mandatory checkbox for Terms & Privacy agreement
|
||||
- `Layout`: added footer with social icons, legal links; header settings link; HelpFAB
|
||||
- `AdminPage`: complete rewrite from simple 2-tab to full 8-tab panel
|
||||
- `AuthContext`: updated User interface, register passes `accepted_terms: true`
|
||||
- `ProtectedRoute`: uses `role` and `is_owner` for admin checks
|
||||
- **Routing**: `/` → LandingPage (public), `/dashboard` → Dashboard (protected)
|
||||
- `index.html`: comprehensive SEO meta tags, Open Graph, JSON-LD, Twitter Card
|
||||
- `tailwind.config.js`: added `@tailwindcss/typography` plugin
|
||||
- `app/core/config.py`: restructured with new sections (System Owner, Social, Analytics, Tariffs, Push)
|
||||
- `app/main.py`: lifespan calls `seed_database()` with try/except
|
||||
|
||||
### Added (DevOps)
|
||||
- `deploy/voidea-api.service` — systemd unit for FastAPI (uvicorn, 2 workers)
|
||||
- `deploy/voidea-worker.service` — systemd unit for background worker
|
||||
- `deploy/voidea-beat.service` — systemd unit for beat scheduler
|
||||
- `deploy/deploy.sh` — full deployment script (user, deps, venv, build, migrate, systemd)
|
||||
|
||||
### Documentation
|
||||
- `docs/full.md` — full rewrite covering v2.0 features
|
||||
- `docs/user-guide.md` — user manual (quick start, agents, commands)
|
||||
- `docs/admin-guide.md` — admin/owner/moderator guide
|
||||
- `CHANGELOG/v2.0.md` — this file
|
||||
Reference in New Issue
Block a user