Code de l'application mobile Mauria
- Ionic (React)
v6.5.0
- Sass Modules
- Capacitor
v4.6.1
- TypeScript
v4.9.4
Nous avons séparé le répertoire en plusieurs dossiers :
resources
: contient le logo de l'applicationpublic
: contient la version du build actuellesrc
: contient le code de l'application
Au sein de src
se trouve un projet React "standard" :
assets
: contient les SVGs utiliséscomponents
: contient les composants réutilisables dans l'applicationcontexts
: contient la structure desmodals
utiliséspages
: contient les différentes pages de l'applicationtheme
: contient le CSS, ici du SCSStypes
: contient les différents types de structure utilisés suivant les pagesutils
: contient les différents fichiers "utile" au bon fonctionnement de l'application, comme les fonctions d'appel auxapi
, aux retours haptiques...
- NodeJS
v18+
- npm et/ou yarn
- TypeScript
v4+
- Cloner le repo
- Se placer dans le dossier du projet :
cd app
- Installer les dépendances :
npm i
- Lancer le projet :
npm start
- Le projet est accessible à l'adresse suivante :
http://localhost:3000
- Ouvrir le projet dabs XCode :
ionic capacitor open ios
- Signer le projet avec votre compte développeur Apple (dans Signing & Capabilities)
- (Optionnel) Changer le bundle ID (A FAIRE SI ERREUR DE BUNDLE ID)
- Lancer le projet sur un simulateur ou un appareil connecté avec
ionic capacitor run ios -l --external
(-l
permet de lancer le projet en mode live-reload et--external
de lancer le projet sur un appareil connecté en USB) - Choisir l'appareil sur lequel lancer l'application
- L'application se lance sur l'appareil (il se peut que vous deviez accepter le certificat de l'application dans les paramètres de l'appareil)
Demander à Milo de compléter...
- Passage sous Ionic
v5+
- Suppression d'un événement ajouté au calendrier (=> création d'un modal lors du clic sur un cours)
- Actualisation automatique des données (le plugin étant très récent, il présente de nombreux soucis actuellement...)
- Un "agenda" permettant de noter des notes et/ou travaux à effectuer
- Ajouter un feed d'événements Junia sur la page principal (cela pour but de partager et découvrir les prochains événements Junia sans passer par tous les réseaux sociaux)
- Faire une version optimisée pour iPads et tablettes
- Ajouter un message si une mise à jour est disponible (il faut stocker la version de l'application dans le
localStorage
et un appel à l'api
permet de savoir si une mise à jour est disponible) - Ajouter un modal au lancement, si update pour expliquer les nouveautés de la dernière mise à jour
- Implémenter des tests unitaires et d'intégration
Pour contribuer au projet, il faut faire un fork du repo à partir de la branche pre-release
.
Une fois votre fork créé, vous pouvez travailler sur votre fork
Pour proposer vos changements, vous devez faire une pull request sur la branche pre-release
du repo principal.
Si votre contribution est acceptée, elle sera déployée dans la prochaine mise à jour de l'application ! (Nous essayons de limiter le nombre de mise à jour de l'application)
Ce projet est sous licence GNU v3. Pour plus d'informations, voir le fichier LICENSE
à la racine du projet.