Groupe AL-IAM1
Bruel Martin, Lanoux Nicolas, Lecavelier Maëva, Striebel Florian
Une application de découverte des magasins alentours
Issues
·
Backlog
·
Installation
Notre projet est un système de découverte de points d’intérêts (commerces, musées, cinéma, plage, etc…). Les utilisateurs peuvent connaître les points d’intérêt connectés sur le même réseau qu'eux grâce à une application mobile. Ils peuvent aussi recevoir des notifications lorsqu'ils sont à proximité de ces points d'intérêt. Ces notifications correspondent au contexte actuel (météo, horaires d'ouverture...). Une API est également mise à disposition afin de connaitre l'affluence des magasins en fonction des jours. Nous mettons également à disposition un système de monnaies locales permettant ainsi de soutenir les commerces locaux. Les visiteurs peuvent créditer leur compte en monnaies locales directement depuis l’application mobile et payer en magasin de façon sécuriser avec le Bluetooth.
Téléchargez la dernière version depuis la liste des releases .
Mobile :
- Android 10 (physique)
- Android studio
Store :
- java 11
- maven
- bluetooth
- docker
- Cloner le repo
git clone https://github.com/PNS-PS7and8/ps7-20-21-al-iam1.git
cd ps7-20-21-al-iam1
- Démarrer l'API (linux / wsl2)
cd api
docker build -t ps7-20-21-al-iam1/api .
docker run -it -p 8080:8080 ps7-20-21-al-iam1/api
Après avoir lancé l'API, vous pouvez vous rendre sur ce lien pour accéder à la documentation.
- Vérification du lancement de l'API (test cucumber)
cd ../mock_api
mvn clean package
- Démarrer le serveur du magasin
Le bluetooth doit être activé aux lancement du serveur mais peut-être désactivé par la suite
cd ../store
mvn clean package
mvn exec:java -Dexec.mainClass="upnpService.Main"
- Lancer l’application mobile
Pour la première fois, connectez votre téléphone à l'ordinateur et activez le mode debug. Compilez et lancez l'application depuis Android studio. Pensez à donner l'autorisation de localisation à l'application.
-
Créer une classe qui représente l'objet API. Elle doit étendre la classe
WeatherAPI
. -
Il faut implémenter des méthodes (voir les commentaires de
WeatherAPI
pour comprendre leur fonctionnement) -
Il faut créer une URL pour faire des requête HTTP. Pour cela, il est possible d'utiliser la méthode
StringUrlBuilder
et d'en ajouter d'autres si nécessaire. Pour les deux cas donnés, leStringUrlBuilder
est utilisé dans le constructeur pour créer l'URL.
La méthode
buildURL
crée l'URL finale, la requête vers l'API météo dépend de l'API utilisée.
Afin de bien organiser le projet chaque nouvelle fonctionnalité doit respecter les contraintes suivantes :
-
Création d'une Issue associée à la fonctionnalité. Cette issue doit respecter la Definition of ready:
- Une description
- Des critères d’acceptation
- Un test d’acceptation (minimum en langage naturel ou un schéma)
- Une estimation en points
- Un tag Moscow
-
Création d'une branche depuis develop. Cette branche doit se nommer feature/<nomDeLaFeature>
-
Lorsque que la fonctionnalité est prête, une pull request peut être créée depuis la branche vers develop, tous les membres doivent êtres ajoutés en reviewer. Afin de valider l'issue, celle-ci doit respecter la Definition of done:
- Les tests d’acceptation passent
- La feature a été revue par un autre membre du groupe
- La User Story est intégrée sur la branche commune
- Les nouveaux et les anciens tests unitaires passent
- Le build complet passe sur la CI
-
La branche peut être merge et l'issue peut être fermée