Backend Directus pour konstitisyon.la, une plateforme de rédaction constitutionnelle collaborative. Ce dépôt contient la configuration Directus et le schéma de la base de données.
Copier le fichier `.env.sample` vers un fichier `.env` :
```bash
cp .env.sample .env
```
### Démarrage
```bash
# Installation des dépendances
npm install
# Démarrage du serveur
npx directus start
```
## API
### Points d'entrée principaux
#### Titres
-`GET /items/titres` : Liste des titres
-`GET /items/titres/:id` : Détails d'un titre
-`POST /items/titres` : Créer un titre
-`PATCH /items/titres/:id` : Modifier un titre
#### Articles
-`GET /items/articles` : Liste des articles
-`GET /items/articles/:id` : Détails d'un article
-`POST /items/articles` : Créer un article
-`PATCH /items/articles/:id` : Modifier un article
#### Commentaires
-`GET /items/commentaires` : Liste des commentaires
-`GET /items/commentaires/:id` : Détails d'un commentaire
-`POST /items/commentaires` : Créer un commentaire
#### Votes
-`GET /items/votes` : Liste des votes
-`GET /items/votes/:id` : Détails d'un vote
-`POST /items/votes` : Créer un vote
-`PATCH /items/votes/:id` : Modifier un vote
### Authentification
-`POST /auth/login` : Connexion utilisateur
-`POST /auth/refresh` : Rafraîchissement du token
-`POST /auth/logout` : Déconnexion
### Base de données
Le projet utilise une base de données SQLite. Un fichier `data.sample.db` est fourni avec :
- La structure complète de la base de données
- Un compte administrateur par défaut :
- Email : admin@example.com
- Mot de passe : admin
Pour démarrer un nouveau projet :
1. Copier `data.sample.db` vers `data.db`
-`cp data.sample.db data.db`
2. Mettre à jour le fichier `.env` pour pointer vers `data.db`
3. Démarrer le serveur
## License
Ce projet est sous licence AGPL-3. Cette licence garantit que le code reste libre et que toute modification doit être partagée avec la communauté. Voir le fichier `LICENSE` pour plus de détails.
## Contact
Pour toute question ou suggestion concernant le projet, n'hésitez pas à ouvrir une issue sur Codeberg.