Skip to content

7isEnough est une application de chasse aux trésors développée dans le cadre du projet SMART à l'INSA Lyon.

License

Notifications You must be signed in to change notification settings

Heptabarnak/7IsEnough-front

Repository files navigation

7isEnough

7isEnough est une application de chasse aux trésors développée dans le cadre du projet SMART à l'INSA Lyon.

Le code source du back est disponible ici

Auteurs

  • Tom Bourret
  • Julien Charles-Nicolas
  • Marc-Antoine Fernandes
  • Justin Gally
  • Vincent Guillon
  • Pierre Jaglin
  • Loïc Sérazin

Les différents livrables sont disponibles dans le dossier docs de ce repo.

Application Android

L'application android est disponible sur le Google Play mais également dans l'onglet release:

Disponible sur Google Play

Serveur

Installation

Le serveur est un simple serveur web de fichiers. On conseille Caddy Server car il permet d'avoir du HTTPS par défaut.

Prenez également le plugin filemanager pour simplifier le déploiement de nouvelles versions des données.

La configuration de Caddy est simple :

7isenough.app {
	root ./path/to/7isenough

	filemanager /filemanager ./path/to/7isenough {
		database 7isenough.db
	}

	internal ./path/to/7isenough/internal

	gzip
}

Ici, le dossier internal permettra de stocker des informations sensibles.

Pour accéder aux données, allez sur https://7isenough.app/filemanager et connectez vous avec admin:admin. Il ne reste plus qu'à créer les différents fichiers nécessaires et de changer les mots de passes.

Utilisation

Le manifeste

Le serveur doit avoir au minimum 1 fichier manifest.json, qui contient l'ensemble des cartes disponibles (ainsi que le numéro de version).

Le manifeste est structuré comme suit :

[
  {
    "id": "String",
    "name": "String",
    "description": "String",
    "startDate": "Number",
    "endDate": "Number",
    "version": "Number",
    "scoreboardId": "String"
  }
]
  • id: Correspond à l'identifiant de la carte (nom du fichier .json).
  • name: Nom de la carte.
  • description: Description de la carte.
  • startDate: Début de l'événement (en millisecondes UNIX).
  • endDate: Fin de l'événement (en millisecondes UNIX).
  • version: Numéro de version. Sans ça, les utilisateurs risquent de ne pas recevoir les mises à jour.
  • scoreboardId: Id du scoreboard Google Play Games (Optionnel).

Les cartes

Chaque événement déclaré dans le manifeste doit avoir son propre fichier .json.

Ces cartes sont générées grâce à deux interfaces:

L'interface web

Dans le dossier mapGrid de la partie back du projet se trouve le fichier index qui permet à l'administrateur de créer et modifier les cartes une par une.

Le générateur de QR Code

Pour générer les QR Codes, on utilise Java et non plus JavaScript. Pour lancer le logiciel, il suffit de lancer ./gradlew run depuis le repo 7isEnough-back.

Les 2 interfaces contiennent des indications sur la fabrication de A à Z d'une carte.

Compiler Android

Pour compiler l'application Android, il suffit de cloner le projet et l'ouvrir avec Android Studio (3.1+).

Il faut ensuite créer le projet Google Cloud (pas détaillé ici).

Les propriétés suivantes sont à définir dans votre $HOME/.gradle/gradle.properties :

  • a7isEnough_GMaps_API_KEY : L'api key concernant Google Maps Android
  • a7isEnough_Google_APP_ID : L'ID de l'application (voir la doc de Google Play)

License

GNU General Public License v3.0

About

7isEnough est une application de chasse aux trésors développée dans le cadre du projet SMART à l'INSA Lyon.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages