# 🎼 GameDev Tracker Application **desktop** de gestion de projet de jeu vidĂ©o, pensĂ©e pour une **petite Ă©quipe (5-6 personnes)**. Construite avec **Tauri + React + TypeScript + Tailwind + Framer Motion**, base de donnĂ©es **gratuite Supabase**. ## ✹ FonctionnalitĂ©s - 🔐 **Connexion / inscription** par email + mot de passe - đŸ‘„ **Équipe & rĂŽles** (programmeur, artiste, game designer, sound, scĂ©nariste, QA
) - 📋 **TĂąches & Kanban** — glisser-dĂ©poser entre *À faire / En cours / En revue / TerminĂ©* - 🎯 **Jalons & planning** — Ă©chĂ©ances, progression par jalon (Prototype, Alpha, Beta, Release
) - 🐛 **Suivi de bugs** — sĂ©vĂ©ritĂ©, prioritĂ©, statut, assignation - 📊 **Tableau de bord** — avancement global, rĂ©partition des tĂąches, prochaines Ă©chĂ©ances - 🔄 **Synchro temps rĂ©el** — quand un membre modifie une tĂąche, les autres la voient se mettre Ă  jour --- ## 🚀 Mise en route ### 1. CrĂ©er la base de donnĂ©es (gratuit, une seule fois pour toute l'Ă©quipe) 1. Va sur **[supabase.com](https://supabase.com)** et crĂ©e un compte. 2. Clique **New project** (choisis un mot de passe de base de donnĂ©es, garde-le quelque part). 3. Attends ~2 min que le projet se crĂ©e. 4. Dans le menu de gauche : **SQL Editor → New query**. 5. Ouvre le fichier [`supabase/schema.sql`](supabase/schema.sql) de ce dĂ©pĂŽt, **copie tout son contenu**, colle-le, puis clique **Run**. > Cela crĂ©e les tables (profils, projets, tĂąches, jalons, bugs), la sĂ©curitĂ© et la synchro temps rĂ©el. 6. Menu **Settings (⚙) → API**. Note deux valeurs : - **Project URL** → ressemble Ă  `https://xxxxx.supabase.co` - **anon public** (sous *Project API keys*) → longue chaĂźne commençant par `eyJ...` 7. **RecommandĂ© pour une petite Ă©quipe** : dĂ©sactive la confirmation d'email pour pouvoir se connecter tout de suite aprĂšs l'inscription. - Menu **Authentication → Sign In / Providers → Email** : dĂ©sactive **« Confirm email »** et enregistre. - (Sinon, chaque membre devra cliquer sur un lien reçu par email avant de pouvoir se connecter.) > â„č La clĂ© *anon public* est faite pour ĂȘtre distribuĂ©e Ă  l'app cliente : pas de secret sensible exposĂ©. ### 2. Lancer l'application PrĂ©requis (dĂ©jĂ  installĂ©s sur cette machine) : **Node.js**, **Rust**. ```bash npm install npm run tauri:dev ``` Au premier lancement, l'app affiche un Ă©cran de **configuration** : colle l'**URL** et la **clĂ© anon** obtenues Ă  l'Ă©tape 1, puis **Connecter**. Ensuite : crĂ©e ton compte (avec ton rĂŽle), crĂ©e un **projet**, et c'est parti. 🎉 ### 3. Distribuer Ă  l'Ă©quipe Pour gĂ©nĂ©rer un installeur (`.exe`/`.msi` sur Windows) : ```bash npm run tauri:build ``` Le fichier d'installation se trouve dans `src-tauri/target/release/bundle/`. Envoie-le Ă  tes coĂ©quipiers. À leur premier lancement, ils saisissent **la mĂȘme URL + clĂ© anon** que toi — ils rejoignent ainsi le mĂȘme projet partagĂ©. --- ## 🧰 Scripts utiles | Commande | Effet | | --- | --- | | `npm run tauri:dev` | Lance l'app en mode dĂ©veloppement (rechargement Ă  chaud) | | `npm run tauri:build` | GĂ©nĂšre l'installeur de l'app | | `npm run dev` | Lance uniquement le front-end dans le navigateur (sans la fenĂȘtre desktop) | | `npm run typecheck` | VĂ©rifie les types TypeScript | ## đŸ—ïž Architecture ```text ├─ index.html # point d'entrĂ©e du front ├─ src/ # application React (front-end) │ ├─ pages/ # Dashboard, Kanban, Milestones, Bugs, Members, Login, Setup │ ├─ components/ # Layout, UI, animations │ └─ lib/ # client Supabase, types, contexte global, config ├─ src-tauri/ # enveloppe desktop Tauri (Rust) └─ supabase/schema.sql # schĂ©ma de la base Ă  exĂ©cuter dans Supabase ``` ## 🔒 Note de sĂ©curitĂ© L'app suppose une **Ă©quipe de confiance** : tout membre connectĂ© peut lire et modifier les donnĂ©es du projet (politique RLS « accĂšs complet pour les utilisateurs authentifiĂ©s »). C'est volontaire pour rester simple sur une petite Ă©quipe. Si un jour tu veux des permissions plus fines (ex. seul le lead supprime un projet), il faudra ajuster les *policies* dans `supabase/schema.sql`.