Logo Lanfrica

Miabo-Madagascar/impactus-initiative

Domaine:

digital infrastructure

Type de record:

software
Créateur:
Mia
Hôte:
# Impactus Initiative — Cartographie de l'engagement jeunesse Plateforme web (Next.js + Supabase) qui recense les organisations de jeunesse d'Antananarivo Renivohitra et leurs opportunités d'engagement (bénévolat, volontariat, formations, appels à projets, événements, stages, recrutement), avec filtres par domaine, localisation et type d'opportunité, publication ouverte aux organisations, et un script de veille assistée par IA. ## Stack - **Next.js 14** (App Router, TypeScript) — front-end - **Tailwind CSS** — design system (identité "jeune et dynamique") - **Supabase** (Postgres + API) — base de données, hébergement gratuit pour démarrer - **Vercel** — déploiement du site - **GitHub Actions** — exécution planifiée du script de veille IA (optionnel) ## Structure du projet ``` app/ page.tsx -> landing page (à propos, initiative, aperçu opportunités) opportunites/page.tsx -> page opportunités (onglets Consulter / Organisations / Ajouter) layout.tsx, globals.css components/ -> Navbar, Footer, Hero, cartes, filtres, formulaires lib/ types.ts -> domaines, types d'opportunité, communes (à ajuster librement) supabaseClient.ts supabase/schema.sql -> schéma de base de données à exécuter dans Supabase scripts/collecte-ia.mjs -> veille IA (web search + insertion Supabase) .github/workflows/collecte-ia.yml -> exécution automatique quotidienne (cron) ``` --- ## 1. Installer le projet en local ```bash cd impactus-platform npm install cp .env.local.example .env.local ``` ## 2. Créer la base de données (Supabase) 1. Va sur supabase.com → crée un compte gratuit → **New project** (nom : `impactus-initiative`, région proche : Europe/Cape Town si disponible). 2. Une fois le projet créé, ouvre **SQL Editor** → **New query**, colle le contenu de `supabase/schema.sql`, puis **Run**. Cela crée les tables `organisations` et `opportunites`, avec des règles de sécurité (RLS) : tout le monde peut lire les entrées **ap …