git clone https://github.com/MTES-MCT/zero-logement-vacant.git
cd zero-logement-vacant && yarn
Pour lancer les services, migrer et remplir la base de données en une seule commande :
export DEV_DB=postgres://postgres:postgres@localhost/dev
export TEST_DB=postgres://postgres:postgres@localhost/test
bash .docker/setup.sh
Lancer tous les services :
docker compose -f .docker/docker-compose.yml up -d
Lancer un service spécifique :
docker compose -f .docker/docker-compose.yml up -d <service>
Chaque application peut définir ses propres variables d’environnement. Des exemples sont disponibles comme ici pour l’API : server/.env.example.
Développement / Staging
Si vous avez choisi de ne pas charger les données via docker compose
, vous
pouvez les charger manuellement :
yarn workspace @zerologementvacant/server migrate
yarn workspace @zerologementvacant/server seed
Note : vous pouvez définir la variable d’environnement DATABASE_URL
pour utiliser une base de données spécifique.
Sinon une base de donnée locale sera utilisée par défaut.
La base de données doit exister.
Permet le chargement de données minimales pour faire fonctionner l'application avec des données anonymisées pour les collectivités suivantes :
- Eurométropole de Strasbourg
- CA Saint-Lô Agglo
et trois utilisateurs dont les mots de passes sont partagés sur https://vaultwarden.incubateur.net/:
- [email protected] => utilisateur avec des droits pour Eurométropole de Strasbourg
- [email protected] => utilisateur avec des droits pour Saint-Lô
- [email protected] => utilisateur avec des droits d'administration
- [email protected] => utilisateur lecture seule France entière
Chaque application peut être lancée indépendamment.
yarn workspace @zerologementvacant/front dev # localhost:3000
yarn workspace @zerologementvacant/server dev # localhost:3001/api
L'application est accessible à l'adresse sur http://localhost:3000 et il est possible de se connecter avec l'un des trois comptes utilisateurs cités plus haut.
Lancer tous les tests :
yarn test
Lancer les tests d’un workspace en particulier :
# Avec yarn
yarn workspace <workspace> test
# Avec lerna
yarn lerna run test --scope <workspace> [--include-dependents]
# Exemple
yarn workspace @zerologementvacant/server test
yarn lerna run test --scope @zerologementvacant/server --include-dependents
yarn test --scope @zerologementvacant/server --include-dependents
# yarn test == yarn lerna run test
La commande échoue si le package ne comporte pas de commande test
, ou si un
test échoue.
La version de démo de l'application est accessible à l'adresse https://zerologementvacant-staging.incubateur.net
La version de production de l'application est accessible à l'adresse https://zerologementvacant.beta.gouv.fr