Skip to content

Architecture

Sylvestre Bouchot edited this page Feb 10, 2017 · 2 revisions

Frontend

Notre architecture frontend se base sur le framework Angularjs, de ce fait nous avons décidé de scinder l'application en controlleur et vue. Nous avons décidé d'organiser l'application qu'on peut schématiser simplement comme ceci :

myVille
│   README.md  
│
└─app
   │   index.html
   │
   └───script
       │   app.js
       └───controllers
       |
       └───directives
       |
       └───services
  • Le fichier app.js sert à effectuer le routage, mais également d'injecter les dépendances dans les différents controlleurs.
  • Dans le dossier controllers, pour chaque vue nécessitant un controlleur : on l'on ajoute dans ce dossier, le controlleur le plus important est main.js, c'est ce dernier qui gère l'interactivité avec la carte.
  • Dans le dossier directives, nous avons nos propres balises HTML pour simplifier celle que l'on utilise le plus souvent.
  • Dans le dossier services, on a le service qui gère l'authentification mais également tout le lien avec l'API du backend.

#Backend De ce côté, nous utilisons le framework Express basé sur Node.js afin d'arriver à créer rapidement et facilement une API REST. L'architecture reste sur du MC (Model-Controller).

myVille
│   app.js 
│
└─app
|   │
|   └───models
|   │
|   └───controllers
|
└───config   
  • Dans le dossier models, on stocke les modèles utilisés dans notre base de données via Mongoose.
  • Dans le dossier controllers, on définit les routes et leur fonction associée.
  • Dans le fichier config, nous avons deux fichier : express.js qui lui permet d'ajouter des middlewares, de gérer les tokens et leur validité; config.js qui lui sert à définir les variables propre au système tel l'adresse de la base de données etc ...
Clone this wiki locally