Passer au contenu

Pour Commencer

Démo en direct

Avant de commencer à travailler sur Karr, consultez la démo en direct pour voir à quoi ça ressemble et les fonctionnalités implémentées.

Visiter la démo

Assurez-vous d’avoir été ajouté au dépôt GitHub et d’avoir les permissions de push.

La branche principale devrait être protégée, vous devrez donc travailler sur une autre branche et ouvrir une pull request lorsque votre travail est prêt.

Assurez-vous d’avoir toutes les dépendances, en utilisant la bonne version :

  • Node.js: actuellement version 22, plus généralement la dernière LTS.
  • pnpm: actuellement version 10, plus généralement la dernière version stable. Devrait être spécifié dans le package.json à la racine.
  • PostgreSQL: actuellement version 17. Peut fonctionner à partir d’un conteneur Docker.
Docker compose pour PostgreSQL

Exécutez ce fichier compose avec docker compose up -d pour avoir une base de données Postgres fonctionnelle.

docker-compose.yaml
services:
postgresql:
image: "postgres:17"
volumes:
- "./data:/bitnami/postgresql"
ports:
- "5432:5432"
environment:
- POSTGRES_PASSWORD=karr
- POSTGRES_USER=karr
- POSTGRES_DB=karr

Assurez-vous d’avoir configuré les clés ssh avec git. Cela rend l’utilisation de git beaucoup plus pratique et plus sécurisée.

Vous pouvez également configurer git pour signer vos commits, bien que ce ne soit pas obligatoire.

  1. Tout d’abord, clonez le dépôt :

    Fenêtre de terminal
    git clone git@github.com:finxol/karr.git
  2. Accédez au répertoire et installez les dépendances.

    Fenêtre de terminal
    cd karr
    pnpm install

Le dépôt utilise Husky pour gérer les hooks git.

Si un hook échoue, l’action n’aura pas d’effet, vous laissant la possibilité de le corriger.

Il y a 3 hooks configurés :

  • Pre-commit : Formate les fichiers en attente
  • Pre-push : Exécute tous les tests, vérifie les types, lint et vérifie le formatage. Ces opérations sont plus lentes, donc effectuées uniquement avant le push.
  • Commit-msg : Vérifie que le message de commit suit la convention Conventional Commits. Ce format de commit est utile pour une génération précise de changelog.

Les scripts de hook sont situés dans .husky/.

Vous pouvez toujours désactiver les hooks git si vous ne les aimez vraiment pas, les vérifications seront également exécutées dans Github CI. Les hooks sont là pour une boucle de rétroaction plus rapide, et évitent d’attendre plusieurs minutes avant de découvrir qu’une vérification échoue.