MCPcopy Index your code
hub / github.com/Code-for-Senegal/vie-publique.sn

github.com/Code-for-Senegal/vie-publique.sn @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
296 symbols 583 edges 189 files 14 documented · 5%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

vie-publique.sn

📋 Sommaire

  1. 💡 Présentation
  2. 🗺️ Roadmap
  3. 👨‍💻 Stack
  4. 📁 Structure du projet
  5. ⚙️ Develop
  6. 🚀 Déploiement

💡 Présentation

Plateforme Web citoyenne dédiée à la promotion de la transparence et de l'accessibilité à l'information publique au Sénégal.

C'est une plateforme participative, collective, ouverte et open source visant à rendre accessible au grand public les informations publiques (rapports d'audit, budget, journal officiel, lois et règlements, code général, nominations etc.).

⚠️ AVERTISSEMENT IMPORTANT
Projet initié dans l'urgence pour répondre à l'indisponiblité du site de la cours des comptes le 01/05/2024. Les data (metadata sur les rapports et les pdf) on été incluses directement dans le repo git. Ce point sera corrigé très rapidement en séparant les data du code.

🗺️ Roadmap

https://github.com/Code-for-Senegal/vie-publique.sn/wiki/ROADMAP

👨‍💻 Stack

📁 Structure du projet

vie-publique.sn/
├── assets/            # Ressources non compilées comme les styles et les images
├── components/        # Composants Vue réutilisables
├── layouts/           # Modèles de mise en page pour ton application
├── pages/             # Les pages de ton application basées sur les routes
├── plugins/           # Plugins JavaScript que tu souhaites exécuter avant l'instance root Vue
├── static/            # Fichiers statiques servis directement depuis la racine
└── public/            # Dossier publique avec les rapports pdf
└── content/           # Dossier content pour les contenus statiques markdown
└── server/            # parter serveur API
└── nuxt.config.ts     # Nuxt root config file
└── eslint.config.mjs  # ESLint config file
└── .prettierrc        # Prettier Config file

⚙️ Develop

Prérequis

  • Node.js > v18.0.0

Install

Installer les dépendences

npm install

Start

  1. Environnement de variable fichier .env

Créer un fichier .env en copiant le fichier .env.example à la racine du projet et y définir la variable d'environnement pour l'ID de Google Analytics ou le DNS

exemple:

GTAG_ID=G-XXXXXX
NUXT_PUBLIC_SITE_URL=https://www.vie-publique.sn
PUBLIC_SHOW_PINNED_PEOLPLES=false
PUBLIC_SHOW_SCANDALS=false
PUBLIC_SHOW_BAROMETER=true
BREVO_API_KEY=xxx
BREVO_LIST_ID=xxx

vous pouvez mettre des valeurs fictives en local

  1. Development server
npm run dev

Votre application Nuxt 3 devrait maintenant être accessible à l'adresse http://localhost:3000 et se recharger automatiquement lorsque vous modifiez vos fichiers source.

Accès au viewer tailwind http://localhost:3000/\_tailwind

  1. IDE

Pour VSCode, installer ces 2 extensions :

  • Prettier - Code formatter https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
  • ESLint https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

Executer la commande 'npm run lint' pour vérifier si le code style est correct ou 'npm run lint:fix' pour fixer automatiquement les issues.

Utiliser les Dev Containers

Vous pouvez utiliser Docker avec l'extension Dev Containers

  1. Exécutez Docker
docker-compose up --build

ou

docker compose up
  1. Assurez-vous que Docker n'est pas en cours d'exécution
docker compose stop

Votre application Nuxt 3 devrait maintenant être accessible à l'adresse http://localhost:3000 et se recharger automatiquement lorsque vous modifiez vos fichiers source.

En savoir plus : https://code.visualstudio.com/docs/devcontainers/containers

🚀 Déploiement

Build the application for production:

# npm
npm run build

Locally preview production build:

# npm
npm run preview

Check out the deployment documentation for more information.

Extension points exported contracts — how you extend this code

DonationData (Interface)
* Composable pour gérer les dons via Bictorys
app/composables/useBictorysDonation.ts
DonationEmailData (Interface)
* Interface pour les données de don
server/utils/nodemailer.ts
GenderData (Interface)
(no doc)
types/election-stats-elector.ts
Document (Interface)
(no doc)
types/document.ts
Video (Interface)
(no doc)
types/coalition.ts
AssemblyDeputy (Interface)
(no doc)
types/assembly.ts
DepartmentData (Interface)
(no doc)
types/election-participation.ts
Media (Interface)
(no doc)
types/media.ts

Core symbols most depended-on inside this repo

getCmsClient
called by 57
server/utils/cms-client.ts
useCmsCollection
called by 18
app/composables/useCmsCollection.ts
useCollectionState
called by 10
app/composables/useCollectionState.ts
calculateVariation
called by 9
app/composables/useBudget.ts
getVariationColor
called by 9
app/composables/useBudget.ts
getStatusIcon
called by 7
app/composables/usePromesseStatus.ts
transformDeputy
called by 7
server/api/assembly/commissions/[id].get.ts
performSearch
called by 4
app/composables/useSearchEnhanced.ts

Shape

Function 183
Interface 106
Class 4
Method 3

Languages

TypeScript98%
Python2%

Modules by API surface

app/composables/useStateTree.ts13 symbols
app/composables/useBudget.ts13 symbols
app/composables/useElectionMapJson.ts12 symbols
types/assembly.ts11 symbols
app/composables/useCollectionState.ts9 symbols
app/composables/useNavigationCards.ts8 symbols
types/state-entity.ts7 symbols
app/composables/useStateEntities.ts7 symbols
app/composables/useSearchEnhanced.ts7 symbols
app/composables/useElectionMapJsonResult.ts7 symbols
app/composables/useAssemblyDeputies.ts6 symbols
types/election.ts5 symbols

For agents

$ claude mcp add vie-publique.sn \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact