.husky | ||
.vscode | ||
app | ||
assets | ||
components | ||
docs | ||
hooks | ||
tests | ||
.commitlintrc.json | ||
.editorconfig | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.lintstagedrc.json | ||
.npmrc | ||
.prettierrc.json | ||
app.json | ||
babel.config.js | ||
jest.config.json | ||
package-lock.json | ||
package.json | ||
react-app-env.d.ts | ||
README.md | ||
tsconfig.json |
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
Développement du projet en local
Prérequis
Installation
# Cloner le projet
git clone git@git.unistra.fr:rrll/p61-project.git
# Installer les dépendances
npm clean-install
Lancer l'application
npm run start
Linting/Formatting/Tests
Le code est formaté grâce à Prettier et vérifié grâce à ESLint et à TypeScript pour s'assurer que le code respecte les bonnes pratiques de développement, et détecter en amont les possibles erreurs.
Nous utilisons également Jest pour les tests automatisés.
# Lint
npm run lint:prettier
npm run lint:eslint
npm run lint:typescript
# Test
npm run test
Une pipeline CI (.gitlab-ci.yml
) est en place pour vérifier que le code respecte ces bonnes pratiques et que les tests passent.
GitFlow
Le projet suit la convention GitFlow reposant sur 2 branches principales:
main
(oumaster
): Contient le code de la dernière version stable et déployé en production.develop
: Contient le code en cours de développement. Les nouvelles fonctionnalités et les correctifs de bugs sont fusionnés ici.
Convention des commits
Les commits respectent la convention Conventional Commits et Semantic Versioning pour la gestion des versions et des releases en fonction des commits.
Les commits doivent être atomiques c'est à dire qu'il respecte 3 règles:
- Ne concerne qu'un seul sujet (une fonctionnalité, une correction de bug, etc.)
- Doit avoir un message clair et concis
- Ne doit pas rendre de dépôt "incohérent" (bloque la CI du projet)