Mon ami Mael a besoin d'une application pour pointer ses heures de travail. Il m'a donc demandé de lui en faire une. L'app doit permettre de :
- Pointer ses heures de travail/trajet/pause
- Voir ses heures de travail par jour
- Voir ses heures de travail par mois
- voir le temps écouler depuis le dernier pointage
Ayant déja utilisé Laravel pour un projet précédent, j'ai décidé de l'utiliser pour ce projet. De plus, j'ai déja utilisé Laravel Sanctum pour gérer l'authentification d'une API, ce qui me permettra de gagner du temps.
J'ai choisi de réaliser ce projet en utilisant le framework React Native afin d'approfondir mes connaissance et de pouvoir en exporter une app native et l'installer sur n'importe quel téléphone android.
Grace à Expo je vais pouvoir tester dynamiquement l'application sur un téléphone Android.
J'utilises les packages Node suivants :
- BottomTabNavigation (pour gérer les onglets)
- React-navigation (pour gérer les pages)
- React-Query avec Axios (pour gérer les requêtes api)
- React-icons (pour les icônes)
- React-timer-hook (pour le timer)
- react-native-calendars (pour le calendrier)
-
Pré-requis :
- Expo-cli
- Node.js v20.9 (LTS)
- React 18.2
- React-native v0.73
-
Installation de l'application sur machine locale :
- Clone le projet sur votre machine
- Executer dans l'ordre les commandes suivante dans un terminal :
- npm install
- expo start
-
Installation de l'application sur un téléphone Android :
- S'assurer que le téléphone est en mode développement
- Brancher le téléphone a votre machine
- Exporter l'APK dans un des dossiers de votre téléphone
- Installer l'APK sur votre téléphone
-
Créer les models/controllers/migrations/routes de l'API -
Créer un projet React Native -
Créer une interface basique -
Enregistrer les données dans la base de données -
Stopwatch depuis le dernier pointage -
Calendrier avec recap des journées -
Calendrier avec recap des mois - Export pdf ou csv