Piloter le parc de logements pour demandeurs d’asile
Ce projet utilise yarn
comme gestionnaire de dépendances.
D'abord, installez les dépendances :
yarn
Ensuite, lancez le projet :
yarn dev
Ouvrez http://localhost:3000 avec votre navigateur pour voir le résultat.
Pour lancer les tests, exécutez :
yarn test
Pour lancer les tests en continu, exécutez :
yarn test:watch
Pour vérifier que tout le code est bien formatté, exécutez :
yarn lint
Pour vérifier qu'uniquement le code JS/TS/TSX est bien formatté, exécutez :
yarn lint:ts
Pour vérifier qu'uniquement le code CSS est bien formatté, exécutez :
yarn lint:css
Ce projet utilise Prisma
pour interagir avec la base de données PostgreSQL. Pour lancer la création de la base de données, remplissez d'abord la variable DATABASE_URL
dans .env
avec les identifiants de base de données. Puis, lancez la commande suivante pour construire la base de données :
yarn prisma:migrate
En cas de modification du schéma de données (dans schema.prisma
), lancez la commande suivante et donnez un nom de migration en camelCase
:
yarn prisma:migrate --create-only
Pour remplir la base avec des premières données, lancez :
yarn prisma:seed
En cas de besoin, la base de données peut être vidée avec :
yarn prisma:reset
Enfin, vous pouvez vérifier le contenu de la base de données en exécutant :
yarn prisma:studio
En cas de mise à jour du DSFR, il faut mettre à jour le patch.
Par défaut le DSFR applique le CSS en dehors d'un layer ce qui pose des conflits avec Tailwind. Il faut donc modifier le css du DSFR pour qu'il soit englobé dans un layer. Et ce à chaque mise à jour du React-Dsfr.
- Mettre à jour le package @codegouvfr/react-dsfr
- Editer le fichier node_modules/@codegouvfr/react-dsfr/dsfr/dsfr.min.css en englobant le CSS dans un layer
@layer dsfr {
/* le CSS */
}
- Patcher le package
npx patch-package @codegouvfr/react-dsfr
- Vérifier le patch dans
patches/@codegouvfr+react-dsfr+{version}.patch
- Commit le patch
- Le patch sera appliqué à chaque
yarn install
- Champagne !
Pour le moment seule la route /ajout-structure
est protégée par mot de passe.
Pour définir le mot de passe il suffit d'ajouter la variable PAGE_PASSWORD
dans le fichier .env
.
Pour mettre l'applcation en production, placez vous sur la branche main
et exécutez :
git pull --rebase origin dev
git push --force-with-lease