Studysen est un projet d'application mobile développé en React Native avec Expo et TypeScript par le club Appen. L'objectif de ce projet est de fournir une expérience mobile intuitive pour les étudiants.
- Authentification automatique avec compte WebAurion
- Emploi du temps WebAurion
- Notes WebAurion par semestre avec moyenne générale
- Affichage du cours actuel et à venir sur la page d'accueil
- Sauvegarde du planning et des notes en local - Mode hors ligne et connexion instantanée
- Posts et événements des clubs pour la vie étudiante
- Notifications rappels de cours et pour les nouveaux posts de clubs
- Demande de nouvelles fonctionnalités et rapports de bugs directement depuis l'application
Les responsables communication des clubs peuvent gérer leurs événements et leurs posts depuis l'espace dédié:
Note: lorsqu'un club est créé, une demande de validation nous est automatiquement envoyée pour confirmer le club avant publication.
- Node.js (>= 16.x recommandé)
- Git
- Clonez le dépôt :
git clone https://github.com/appen-isen/studysen.git cd studysen - Installez les dépendances :
npm install
- Lancez l'application :
npm start
- Scannez le QR code avec l'application Expo Go pour tester sur un appareil physique, ou utilisez un émulateur Android/iOS configuré.
- Utiliser un VPN pour contourner les restrictions du Wifi (exemple: ProtonVPN)
- Puis il faut utiliser cette commande pour lancer le projet:
npx expo start --tunnel
- Après cela, vous pourrez scanner le QR code avec l'application Expo Go et tout devrait fonctionner.
Le backend de l'application permet de gérer la partie vie étudiante (posts, événements, etc.) et est développé en Express.js. Il est facilement déployable en utilisant Docker. Le code source du backend est disponible dans le dépôt studysen-backend
Flux Git:
- Branches principales:
- main: production (version publiée sur les stores)
- dev: intégration (développement en cours)
- Features: partez de dev, nommez
feat/ma-feature, puis Pull Request vers dev. - Hotfixes: partez de main, nommez
hotfix/mon-correctif, puis Pull Request vers main et back-merge vers dev.
Exemples de commandes:
# Nouvelle fonctionnalité
git checkout dev
git pull
git checkout -b feat/ma-feature
# ... commits ...
git push -u origin feat/ma-feature
# Ouvrir une PR vers dev
# Correctif urgent en prod (hotfix)
git checkout main
git pull
git checkout -b hotfix/bug-critique
# ... commits ...
git push -u origin hotfix/bug-critique
# Ouvrir une PR vers main, puis merger main -> devPour constuire l'application (obtenir un exécutable Android/iOS), vous pouvez utiliser la démarche suivante:
-
Installer les service EAS
npm install --global eas-cli
-
Connectez-vous à votre compte Expo (il doit faire parti de l'organisation Appen)
eas login
-
Construire l'application
-
En mode 'preview':
eas build --platform all --profile preview
-
En mode 'production':
eas build --platform all --profile production
-
-
Faire une mise à jour rapide (quickfix)
eas update --channel preview --message "[message]"ou
eas update --channel production --message "[message]"
- React Native : Framework pour le développement d'applications mobiles (Android et iOS).
- Expo : Outils et services pour développer et déployer l'application.
- Typescript : Typage statique pour JavaScript.
- Express: Framework pour le backend
- Zustand : Pour la gestion des variables globales de l'application
- WebAurion API : Pour communiquer avec WebAurion