ultisuite-backend/project-plan
R3D347HR4Y 0435e27ce6 Enhance search functionality with multi-engine support and configuration updates
- Added support for Typesense as a search engine alongside Meilisearch and PostgreSQL.
- Updated configuration structure to include Typesense parameters in `Config` and `.env.example`.
- Enhanced search handler and service to accommodate external search clients and filters.
- Implemented new tests for external search clients and search service functionalities.
- Updated project checklist to reflect completion of multi-index search features and contextual snippets.
2026-05-22 19:14:27 +02:00
..
administration.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
agenda.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
checklist-execution.md Enhance search functionality with multi-engine support and configuration updates 2026-05-22 19:14:27 +02:00
contacts.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
definition-of-done.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
README.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
roadmap-3-phases.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
ultidrive.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
ultimail.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
ultimaps.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
ultimeet.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00
ultiphotos.md Initialize Ulti Backend project with Docker setup, environment configuration, and core services. Added .dockerignore, .env.example, Dockerfile, and docker-compose files for PostgreSQL, KeyDB, RustFS, Authentik, Nextcloud, Jitsi, and Immich. Implemented main application structure in Go with API handlers and environment variable expansion. Included README for project overview and setup instructions. 2026-05-22 16:02:53 +02:00

Ulti Suite — Plan projet

Alternative souveraine et open-source à Google Suite. Chaque service est conçu pour être aussi fonctionnel et compatible avec les outils Google existants, en s'appuyant sur des technologies open-source éprouvées quand un acteur fiable existe déjà (ex: Nextcloud pour le stockage).

Principes directeurs

  • Parité fonctionnelle avec Google Suite, puis dépassement sur les features avancées (IA, webhooks, automatisations)
  • Compatibilité — import/export natif des formats Google, migration progressive sans friction
  • Souveraineté — hébergeable en propre, données sous contrôle de l'utilisateur
  • UX uniforme — même expérience web, desktop (Tauri) et mobile
  • Interopérabilité interne — tous les services communiquent entre eux nativement
  • Open-source first — s'appuyer sur des briques existantes fiables plutôt que tout réinventer

Services

Service Équivalent Google Fichier plan Statut
Ultimail Gmail ultimail.md Partiel (backend avancé, incomplet)
Contacts Google Contacts contacts.md Partiel (API proxy CardDAV)
Agenda Google Calendar agenda.md Partiel (API proxy CalDAV)
Ultidrive Google Drive ultidrive.md Partiel (API proxy WebDAV/OCS)
Ultimeet Google Meet ultimeet.md Partiel (JWT Jitsi minimal)
Administration Google Admin administration.md Partiel (squelette API)
Ultiphotos Google Photos ultiphotos.md Partiel (proxy Immich minimal)
Ultimaps Google Maps ultimaps.md Non commencé

Architecture commune

┌─────────────────────────────────────────────┐
│  Clients (web / Tauri / mobile)             │
├─────────────────────────────────────────────┤
│  API Gateway / Auth unifiée                 │
├──────┬──────┬──────┬──────┬──────┬──────────┤
│ Mail │Drive │Meet  │Agenda│Photos│ ...      │
│      │      │      │      │      │          │
├──────┴──────┴──────┴──────┴──────┴──────────┤
│  Services partagés                          │
│  ├─ Auth & comptes (SSO, 2FA, OIDC)        │
│  ├─ Contacts (carnet unifié)               │
│  ├─ Notifications (push, mail, webhooks)   │
│  ├─ Recherche transversale                 │
│  └─ Administration & quotas                │
├─────────────────────────────────────────────┤
│  Stockage                                   │
│  ├─ PostgreSQL (métadonnées, config, auth) │
│  ├─ Object storage (fichiers, médias)      │
│  └─ Cache (Redis)                          │
└─────────────────────────────────────────────┘

Exécution