1
1
mirror of https://github.com/theoludwig/p61-project.git synced 2024-07-17 07:00:12 +02:00

docs: stabilize explanations

This commit is contained in:
Théo LUDWIG 2024-02-23 16:21:17 +01:00
parent 06a99b6b23
commit 37c724b89f
Signed by: theoludwig
GPG Key ID: ADFE5A563D718F3B
3 changed files with 48 additions and 16 deletions

View File

@ -2,41 +2,75 @@
## À propos ## À propos
Application mobile en React Native pour le projet du module P61 Développement avancé. Application mobile en [React Native](https://reactnative.dev/) 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. Un tracker d'habitudes pour performer au boulot et dans la vie de tous les jours.
- [Sujet](./SUJET.md) - [Sujet](./docs/SUJET.md)
- [Cahier des charges](./CAHIER-DES-CHARGES.md) - [Cahier des charges](./docs/CAHIER-DES-CHARGES.md)
## Membres du Groupe 7 ### Membres du Groupe 7
- [Théo LUDWIG](https://git.unistra.fr/t.ludwig) - [Théo LUDWIG](https://git.unistra.fr/t.ludwig)
- [Haoxuan LI](https://git.unistra.fr/haoxuan.li) - [Haoxuan LI](https://git.unistra.fr/haoxuan.li)
- [Maxime RUMPLER](https://git.unistra.fr/m.rumpler) - [Maxime RUMPLER](https://git.unistra.fr/m.rumpler)
- [Maxime RICHARD](https://git.unistra.fr/maximerichard) - [Maxime RICHARD](https://git.unistra.fr/maximerichard)
## Prérequis ## Développement du projet en local
### Prérequis
- [Node.js](https://nodejs.org/) >= 20.0.0 - [Node.js](https://nodejs.org/) >= 20.0.0
- [npm](https://www.npmjs.com/) >= 10.0.0 - [npm](https://www.npmjs.com/) >= 10.0.0
- [Expo Go](https://expo.io/client) - [Expo Go](https://expo.io/client)
## Installation ### Installation
```sh ```sh
# Cloner le projet
git clone git@git.unistra.fr:rrll/p61-project.git
# Installer les dépendances
npm clean-install npm clean-install
``` ```
## Usage ### Lancer l'application
```sh ```sh
# Run the application
npm run start npm run start
```
# Lint and Test ### Linting/Formatting/Tests
Le code est formaté grâce à [Prettier](https://prettier.io/) et vérifié grâce à [ESLint](https://eslint.org/) et à [TypeScript](https://www.typescriptlang.org/) 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](https://jestjs.io/) pour les tests automatisés.
```sh
# Lint
npm run lint:prettier npm run lint:prettier
npm run lint:eslint npm run lint:eslint
npm run lint:typescript npm run lint:typescript
# Test
npm run test npm run test
``` ```
Une pipeline CI ([`.gitlab-ci.yml`](.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](https://nvie.com/posts/a-successful-git-branching-model/) reposant sur 2 branches principales:
- `main` (ou `master`): 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](https://www.conventionalcommits.org/) et [Semantic Versioning](https://semver.org/) 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)

View File

@ -51,4 +51,4 @@ Vous serez évalués sur les aspects suivants :
## Exemple dinterfaces ## Exemple dinterfaces
![UI Example](./assets/images/ui-example.png) ![UI Example](../assets/images/ui-example.png)

View File

@ -1,13 +1,13 @@
# PROJET 🚧 # PROJET 🚧
Pas de temps à perdre, commençons dès aujourd'hui à travailler sur l'accompagnement du projet. Pas de temps à perdre, commençons dès aujourd'hui à travailler sur l'accompagnement du projet.
Pour celà, commençons par découvrir le [cahier des charges du projet](https://docs.google.com/document/d/1P1pD_TsTa8Cn4XT-hU0YF_xMx2BGqbXxG7Ta2oNcnOk/edit). Pour celà, commençons par découvrir le [cahier des charges du projet](./CAHIER-DES-CHARGES.md).
## 1 🚀 KICKSTART ## 1 🚀 KICKSTART
### 1.1 Mettez vous par groupe ### 1.1 Mettez vous par groupe
Renseignez ce fichier [Cahier des charges](./CAHIER-DES-CHARGES.md) avec le nom des étudiants de votre groupe Renseignez ce fichier [Google Sheets](https://docs.google.com/spreadsheets/d/1is3MSvOM94Gs6hfzfg-jJSGIqrrNzzBqDadrCNEQCok/edit#gid=0) avec le nom des étudiants de votre groupe
### 1.2 Créez votre projet ### 1.2 Créez votre projet
@ -17,7 +17,7 @@ Choisissez une application `blank`
### 1.3 GitLab ### 1.3 GitLab
- Ajoutez ce projet sur le Gitlab de l'université - Ajoutez ce projet sur le Gitlab de l'université
- Ajoutez les profs (@joeybronner et @g.baldi) en tant que "Reporter" - Ajoutez les profs ([@joeybronner](https://git.unistra.fr/joeybronner) et [@g.baldi](https://git.unistra.fr/g.baldi)) en tant que "Reporter"
- Ajoutez tous les membres de votre groupe au projet - Ajoutez tous les membres de votre groupe au projet
## 2 📱 DESIGN ## 2 📱 DESIGN
@ -57,7 +57,7 @@ Un Splashscreen est toujours plus élégant qu'un écran de lancement "tout moch
Implémentez le type de navigation que vous préférez et qui (d'après-vous) correspond le mieux à ce projet ⤵ Implémentez le type de navigation que vous préférez et qui (d'après-vous) correspond le mieux à ce projet ⤵
Pour rappel, la librairie est [React Native Navigation](https://reactnavigation.org/docs/getting-started/) et les 3 types de navigations sont : Pour rappel, la librairie est [React Native Navigation](https://reactnavigation.org/./docs/getting-started/) et les 3 types de navigations sont :
- Stack _(à implémenter forcément)_ - Stack _(à implémenter forcément)_
- Drawer - Drawer
@ -97,6 +97,4 @@ Je recommande les librairies de composants suivantes :
N'hésitez pas à ajouter un de ceux-là (ou un autre) à votre projet et à en utiliser les composants. N'hésitez pas à ajouter un de ceux-là (ou un autre) à votre projet et à en utiliser les composants.
---
N'oubliez pas de faire des commits réguliers à la fin de chaque séance pour éviter les conflits Git. N'oubliez pas de faire des commits réguliers à la fin de chaque séance pour éviter les conflits Git.