2024-05-18 09:26:18 +04:00
2024-05-16 02:17:33 +04:00
2024-06-18 11:10:30 +04:00
2024-12-01 18:31:26 +04:00
2026-04-14 17:38:23 +04:00

konstitisyon.nu

Plateforme collaborative dédiée à la rédaction citoyenne d'une constitution. Ce projet vise à permettre aux citoyens de participer activement au processus de rédaction constitutionnelle à travers un système transparent et démocratique.

Vision du projet

L'objectif de konstitisyon.nu est de démocratiser le processus de rédaction constitutionnelle en :

  • Permettant à chaque citoyen de proposer des modifications
  • Facilitant le débat et la discussion autour des propositions
  • Assurant la transparence du processus de rédaction
  • Gardant une trace de l'évolution du texte
  • Permettant un vote démocratique sur les propositions

Fonctionnalités principales

Rédaction collaborative

  • Proposition de modifications du texte constitutionnel
  • Système de versionnage pour suivre l'évolution
  • Comparaison visuelle des différentes versions
  • Historique complet des modifications

Participation citoyenne

  • Système de vote sur les propositions
  • Discussion et débat sur les modifications
  • Transparence totale du processus
  • Accessibilité pour tous les citoyens

Gestion démocratique

  • Processus de validation communautaire
  • Système de vote (+1/-1) sur les propositions
  • Traçabilité des décisions

Architecture technique

Technologies

  • Frontend: Next.js 13+ avec App Router
  • UI: Material-UI (MUI)
  • Backend: Directus (Headless CMS)
  • Authentification: NextAuth.js
  • Base de données: SQLite (via Directus)

Structure du projet

konstitisyon.nu/
├── app/                    # Routes et pages Next.js
├── components/
│   ├── konstitisyon/     # Composants liés à la constitution
│   └── versions/         # Gestion des versions et votes
├── lib/                   # Utilitaires et configurations
└── public/               # Assets statiques

Modèle de données

Schéma de la base de données

erDiagram
    TITRES ||--o{ ARTICLES : contient
    TITRES ||--o{ COMMENTAIRES : discute
    TITRES {
        uuid id PK
        string status
        uuid user_created FK
        datetime date_created
        text contenu
        integer numero
    }
    ARTICLES {
        uuid id PK
        string status
        uuid user_created FK
        datetime date_created
        text contenu
        integer numero
        uuid titre FK
    }
    COMMENTAIRES {
        uuid id PK
        string status
        uuid user_created FK
        datetime date_created
        text contenu
        uuid titre FK
    }
    VOTES {
        uuid id PK
        uuid user_created FK
        datetime date_created
        datetime date_updated
        uuid content_version_id FK
        integer vote
    }
    DIRECTUS_VERSIONS ||--o{ VOTES : evalue
    DIRECTUS_USERS ||--o{ VOTES : cree
    DIRECTUS_USERS ||--o{ COMMENTAIRES : ecrit
    DIRECTUS_USERS ||--o{ ARTICLES : redige
    DIRECTUS_USERS ||--o{ TITRES : redige

Structure constitutionnelle

La constitution est organisée hiérarchiquement :

  • Titres : Sections principales de la constitution

    • numero: Numéro du titre
    • contenu: Texte du titre
    • status: État du titre (brouillon, publié)
  • Articles : Contenus détaillés sous chaque titre

    • numero: Numéro de l'article
    • contenu: Texte de l'article
    • titre: Référence au titre parent
    • status: État de l'article

Système participatif

  • Commentaires : Discussions sur les titres

    • contenu: Texte du commentaire
    • titre: Titre concerné
    • user_created: Auteur du commentaire
  • Votes : Système d'évaluation des versions

    • content_version_id: Version concernée
    • vote: Valeur du vote (+1 ou -1)
    • user_created: Identifiant du votant
    • date_created: Date du vote

Installation et développement

Prérequis

  • Node.js 16+
  • Yarn
  • Instance Directus

Configuration

DIRECTUS_API_URL=          # URL de l'API Directus
NEXTAUTH_URL=             # URL de base de l'application
NEXTAUTH_SECRET=          # Secret pour NextAuth

Installation

# Installation des dépendances
yarn install

# Développement
yarn dev

# Production
yarn build
yarn start

Contribution

Nous encourageons toute contribution visant à améliorer la plateforme. Pour contribuer :

  1. Fork le projet
  2. Créer une branche (git checkout -b feature/AmazingFeature)
  3. Commit les changements (git commit -m 'feat: Add some AmazingFeature')
  4. Push vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrir une Pull Request

Conventions

  • XO pour le linting
  • Commits conventionnels (feat:, fix:, etc.)

Sécurité

  • Authentification via NextAuth.js
  • Protection des routes sensibles
  • Validation des entrées utilisateur
  • Gestion des autorisations par Directus

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.

S
Description
Plateforme collaborative dédiée à la rédaction citoyenne d'une constitution. Ce projet vise à permettre aux citoyens de participer activement au processus de rédaction constitutionnelle à travers un système transparent et démocratique.
Readme 830 KiB
Languages
JavaScript 100%