All. Done API v1.3.0
Backend API REST moderne pour la gestion collaborative de projets avec authentification JWT, stockage de fichiers, recherche full-text et suggestions IA.
đ Documentation
Pour les utilisateurs
- Guide de démarrage rapide - Commencez ici !
- Documentation API - README principal
- SDK TypeScript - Utiliser le SDK dans votre projet
- Exemples SDK - Exemples de code exécutables
Pour les développeurs
- SpĂ©cification Backend - SpĂ©cification complĂšte de lâAPI
- SystĂšme de rĂŽles - ACL et permissions
- Guide de déploiement - Déploiement en production
- File Versioning - Gestion du versioning de fichiers
- Production Readiness - Ătat de production readiness
Guides techniques
- Configuration OpenAPI & SDK - Comment fonctionne la génération du SDK
- Scripts de génération - Utilisation des scripts
- Résumé du commit - Historique des modifications
đ FonctionnalitĂ©s
Gestion de projets
- Workspaces - Organisation multi-projets
- Projects - Gestion de projets avec codes uniques
- WBS (Work Breakdown Structure) - Décomposition hiérarchique
- Tasks - Gestion de tùches avec états, priorités, estimations
- Subtasks - Sous-tĂąches avec progression
Collaboration
- Teams - Ăquipes avec rĂŽles personnalisĂ©s
- ACL (Access Control) - ContrĂŽle dâaccĂšs granulaire
- File Management - Upload, versioning, liens vers entités
- WebSocket - Ădition collaborative temps rĂ©el
Intelligence Artificielle (Mistral AI)
- đ€ Task Breakdown - DĂ©composition automatique de work packages
- đĄ Task Suggestions - Suggestions dâamĂ©lioration
- đ Estimations - Estimation dâeffort par IA
- đïž WBS Generation - GĂ©nĂ©ration de WBS pour nouveaux projets
Recherche & Navigation
- Full-Text Search (FTS5) - Recherche avancée multi-entités
- Advanced Filtering - Filtres sur assignees, states, dates, types
- Pagination - Cursor-based pagination pour performance
- Sorting - Tri multi-critĂšres (priority, wbs_index, dates)
đŻ Quick Start
Installation
git clone https://github.com/wolf75222/alldoneserver
cd alldoneserver
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
Configuration
cp .env.example .env
# Ăditer .env avec JWT_SECRET, MISTRAL_API_KEY, etc.
Lancer lâAPI
# Initialiser la base de données
python -c "from app.db.engine import init_db; init_db()"
# Démarrer le serveur
uvicorn app.main:app --reload --host 0.0.0.0 --port 8080
API disponible: http://localhost:8080 Documentation interactive: http://localhost:8080/docs
Utiliser le SDK TypeScript
import { OpenAPI, AuthService, TasksService } from './sdk';
// Configuration
OpenAPI.BASE = 'http://localhost:8080';
// Login
const { access } = await AuthService.login({
email: 'user@example.com',
password: 'password123'
});
OpenAPI.TOKEN = access;
// Créer une tùche
const task = await TasksService.createTask({
project_id: 'project_id',
wbs_id: 'wbs_id',
title: 'Ma tĂąche',
state: 'todo'
});
Voir documentation complĂšte du SDK.
đŠ SDK Client
Le SDK TypeScript est prĂ©-gĂ©nĂ©rĂ© et prĂȘt Ă lâemploi dans le dossier sdk/.
Services disponibles:
AuthService- AuthentificationWorkspacesService- Gestion des workspacesProjectsService- Gestion des projetsTasksService- Gestion des tĂąchesWbsService- Work Breakdown StructureFilesService- Gestion de fichiersTeamsService- Gestion dâĂ©quipesAiService- Suggestions IA (Mistral)- Et 5 autres servicesâŠ
Régénération:
npm run generate
đ§Ș Tests
# Lancer tous les tests
pytest
# Avec coverage
pytest --cov=app --cov-report=html
RĂ©sultats: 137/137 tests passing (100%) âš
đ Architecture
API REST (FastAPI)
âââ JWT Authentication
âââ SQLite + FTS5
âââ ACL (Workspace + Project)
âââ WebSocket (Collaborative editing)
âââ Mistral AI Integration
âââ TypeScript SDK (auto-generated)
đ Liens utiles
- GitHub Repository: wolf75222/alldoneserver
- API Documentation: http://localhost:8080/docs
- OpenAPI Schema: http://localhost:8080/openapi.json
- Issues: GitHub Issues
đ License
MIT License - voir LICENSE
đ Support
- Email: romaindespoul@gmail.com
- Issues: GitHub Issues
Version: 1.3.0 | Python: 3.11+ | FastAPI: 0.115 DĂ©veloppĂ© avec â€ïž et â par lâĂ©quipe All. Done