mirror of
https://github.com/theoludwig/p61-project.git
synced 2024-07-17 07:00:12 +02:00
Un tracker d'habitudes pour performer au boulot et dans la vie de tous les jours. (Study project)
.github/workflows | ||
.husky | ||
.vscode | ||
app | ||
docs | ||
domain | ||
infrastructure | ||
presentation | ||
tests | ||
utils | ||
.commitlintrc.json | ||
.editorconfig | ||
.env.example | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.lintstagedrc.json | ||
.npmrc | ||
.prettierrc.json | ||
app.json | ||
babel.config.js | ||
eas.json | ||
jest.config.json | ||
package-lock.json | ||
package.json | ||
react-app-env.d.ts | ||
README.md | ||
tsconfig.json |
Habits Tracker - P61 Projet
À propos
Application mobile en React Native pour le projet du module P61 Développement avancé.
Un tracker d'habitudes pour performer au boulot et dans la vie de tous les jours.
Membres du Groupe 7
Documentation
- Sujet + Cahier des charges
- Modèle Logique des Données (MLD)
- Conventions développement informatique
- Kanban Board (Trello)
Principaux Outils Informatiques Utilisés
- TypeScript: Langage de programmation.
- React Native + Expo: Framework pour le développement d'applications mobiles.
- React Native Paper: Bibliothèque de composants pour React Native.
- React Hook Form + Zod: Gestion des formulaires et validation des données.
- Supabase: Backend, serveur d'API pour le stockage des données.
Développement du projet en local
Prérequis
- Node.js >= 20.0.0
- npm >= 10.0.0
- Expo Go ~2.31.0
- Docker (facultatif, utilisé pour lancer Supabase en local)
Installation
# Cloner le projet
git clone git@git.unistra.fr:rrll/p61-project.git
# Se déplacer dans le répertoire du projet
cd p61-project
# Configurer les variables d'environnement
cp .env.example .env
# Installer les dépendances
npm clean-install
Lancer l'application
npm run start
Lancer Supabase (facultatif)
Ce n'est pas strictement nécessaire pour le développement de l'application (même si recommandé), de lancer Supabase en local, car l'application est déjà déployée sur un serveur Supabase en production (.env.example
est pré-configuré avec cet environnement).
npm run supabase-cli start
Principales Commandes Supabase
# Pour réinitialiser la base de données avec les données de test (seed.sql)
npm run supabase-cli db reset
# Pour synchroniser le modèle (local) avec la base de données (remote)
npm run supabase-cli db pull
# Pour synchroniser la base de données (remote) avec le modèle (local)
npm run supabase-cli db push
# Pour générer les types TypeScript
npm run supabase-cli gen types typescript -- --local > ./infrastructure/supabase/supabase-types.ts
# Crée un nouveau script de migration à partir des modifications déjà appliquées à votre base de données locale (remplacer `<name-of-migration>` avec le nom de la migration)
npm run supabase-cli db diff -- -f <name-of-migration>