Giter Club home page Giter Club logo

ssp_project's Introduction

Personnes du groupe concernées par le front

Manon Ragnotti

Fabien Marques

Eugénie Roques

Dossier d'argumentation

Technologies et librairies utilisées

ReactJs

Sass

Ant Design

FullCalendar

Argumentation liée à l'expertise

Nous avons choisi React comme technologie principale. En effet, nous avons beaucoup travaillé cette librairie cette année et l'année dernière et cela nous paraissait être le choix le plus pertinent pour commencer par un Back Office et continuer sur une application.

Nous nous sommes aidés de la librairie ant design pour sa simplicité de design système et sa compatibilité avec l'approche professionnelle du projet afin de proposer une meilleure expérience utilisateur.

Nous avons également choisi d'utiliser la librairie Fullcalendar car celle ci est compatible avec la sortie de l'algorithme. De plus, celle ci propose de nombreuses proporiétés modulables qui s'intègrent parfaitement au projet. Elle est open source et très bien documentée et nous permet de réaliser l'intéralité des fonctionnalités pensées.

Manon Ragnotti

Au cours de se projet j'ai effectué principalement le développement front du Back Office. J'ai commencé avec les différents fetch (la récupération des données du back vers le front) de l'API afin d'afficher en front les données concernant les voitures, les employés et les hôtels. Pour les hôtels, j'ai dû récupérer et faire une réunification de deux tables différentes, celle contenant les scores des hôtels, et celle contenant les infos des hôtels. J'ai ensuite intégré toutes ces données selon les maquettes réalisées. J'ai également ajouté le système de modal sur la page «salarié », lors du clique sur un salarié, une modal d’information s’ouvre, celle-ci contentant ses informations personnel et ses indisponibilités. La possibilité de supprimer un salarié, un hôtel ou une voiture de la base de donnée a également était implémenter dans notre back office par mes soins. Enfin, sur la page concernant le planning, j’ai effectué le style de la page, et les fetch permettant d’afficher les différents hôtels ainsi que leur note dans les rubriques « urgences », « à replacer » et « suggestion » ainsi que le système d’expand de ces rubriques. Ce projet m’a permis d’approfondir mes connaissances en React et d’en apprendre plus sur les systèmes de Hooks et la programmation fonctionnelle et state-less.

Eugenie Roques

Au cours de ce projet, j’ai participé principalement à l’intégration du Back Office. Nous avons intégré la structure tout en réfléchissant aux technologies qui allaient être implémentées pour corréler au lieu avec nos fonctionnalités et besoins du projet. Je me suis chargée d’implémenter le planning en utilisant la librairie Full Calendar. En effet, cette librairie est tout d’abord open-source, et fournit une documentation très claire. Cela rend le planning plus facile à maintenir pour la suite. La librairie permet aussi d’introduire des fonctionnalités nécessaires pour faciliter l’experience utilisateur telles que le “drag and drop” des cartes d’hotels et également un affichage optimisé des plannings. Grace à cette libraire, tout le calendrier est personnalisable simplement en passant à ce composant des propriétés (props). Par exemple, je peux choisir l’heure à laquelle débuter l’affichage du planning, la langues et formats horaires demandés ou d’afficher ou non les week-ends. De plus, j’ai mis en place la partie front de l’authentification avec JWT. J’ai donc récupéré le “token” généré par le back afin de le stocker dans le “local Storage”. Grâce à ce token, nous permettons une connexion à deux niveaux au Back-Office : en tant qu’administrateur ou intervenant. En fonction du rôle attribué, l’utilisateur aura un accès plus ou moins limité aux ressources et à la gestion du planning. A terme, je souhaite sécuriser toutes les routes du back office en ajoutant une authorisation bearer pour fournir une verification permanente de l’authentification de cet utilisateur. Ce projet m’a permis de ma familiariser avec la syntaxe fonctionnelle et state-less de ReactJs ainsi qu’avec les Hooks de cette librairie.

Fabien Marques

Pour ma part, j'ai participé dans un premier temps à la création de la structure du projet (création des fichiers view, component, navigation, fichier scss commun), à l'intégration du header et à la gestion de la navigation via react-router. J'ai ensuite intégré un input qui permet de filtrer et de retrouver un hôtel spécifique dans la longue liste d'hôtel (filtre par nom d'hôtel ou l'adresse). Je me suis ensuite consacré uniquement sur l'infrastructure du projet en déployant l'API et le back dans une instance EC2 avec terraform. C'était une première pour moi, j'y ai consacré beaucoup de temps mais cela m'a permis d'apprendre comment déployer du code sur une VM ! J'ai utilisé nginx pour héberger mon front et pour pouvoir faire le reverse proxy vers l'API.J'ai rajouté reverse proxy pour pouvoir faire communiquer le front et l'api ensemble car les chemins des requêtes étaient écrit en dur.

Liens

Back-office deployé

Back-office déployé

Identification au Back Office

Adresse mail : [email protected]

Mot de passe: hetic2018

Api déployée

API déployée

Repository de l'API : https://github.com/Mehdi-Verfaillie/samuSocial-api

Installation du projet

$ cd projectPath
$ cd SSP_project
$ npm install
$ npm start

ssp_project's People

Contributors

enzozuniga avatar eugenierqs avatar fabienmrqs avatar manonragnotti avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.