GithubHelp home page GithubHelp logo

loictouzard / mapif Goto Github PK

View Code? Open in Web Editor NEW
17.0 8.0 5.0 1.12 MB

Où sont les IF ?

Home Page: https://mapif.fr/

License: GNU General Public License v3.0

JavaScript 56.08% Python 22.86% HTML 17.87% CSS 3.20%
adresse bootstrap localization leafletjs nominatim flask

mapif's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mapif's Issues

Mapif a t'il un futur ?

Quid d'ouvrir "MapIF" à tous les départements de l'Insa Lyon (voir toutes les INSA à terme ??) ?
...De demander une subvention annuelle pour son hébergement ? 💸
...De mettre en place un handover avec l'équipe de l'AEDI pour assurer une maintenance du projet (et pousser les promos entrantes à y contribuer)?
... D'une extension de fureteur mettre à jour la localisation ? #CoucouLaNSA

Il y a t'il des rêves de grandeur ou ce n'est pas du tout le but et je m'égare? ☀️

Recaptcha resetting

Si l'on fait une erreur dans le formulaire d'inscription on ne peut plus envoyer le formulaire car le reCaptcha est invalidé et pour les autres envois sans pour autant pouvoir le revalider. On est obligé d'actualiser la page...
image

Localiser un étudiant précis

Il serait intéressant de pouvoir localiser directement un étudiant inscrit en cherchant son nom via un champ de recherche.

En sélectionnant l'étudiant cible, on recentrerait la map sur sa position actuelle.

Carte - répétition de markers

Quand on déplace la carte sur le coté, les markers n'apparaissent pas. Il faudrait bloquer la translation de la carte, comme cela a été fait pour le zoom.

Encodage

Problème avec l'encodage des caractères. Exemple avec la ersonne en Chine ou au Japon

Indiquer la nature de sa mobilité

Lorsqu'on ajoute une position sur la map, il est intéressant de pouvoir indiquer ce que l'on vient faire : un Stage, un échange, un Double Diplôme, un emploi ...

Un bloc de texte permettant de commenter librement (par exemple, dire où on travaille, jusqu'à quand) aurait aussi un intérêt.

Erreur a l'ajout de position

CODE 4DDL0C4T10NK0

J'ai cherche Dublin puis clique pour m'y ajouter, mais votre code est raciste des roux. Je suis triste :'(

Identifier et filtrer les étudiants par promotion

Pour identifier la promotion d'un étudiant, un label ( + année d'étude si en cours) voire un code couleur pourraient être intéressants (cependant, comment traiter rigoureusement le cas où deux étudiants de promotions différentes se trouvent au même endroit ?)

Il serait également intéressant de pouvoir n'afficher que les étudiants de certaines promotions sur la map.

Par exemple, une liste des promotions "actives" (toutes par défaut), dans laquelle on peut décocher les promotions qu'on ne souhaite pas afficher.

Fonctionnalité retrouver son mot de passe

Les mots de passes ne peuvent être restitués car il sont cryptés. Cependant il faudrait une fonctionnalité pour retrouver un mot de passe perdu. Les gens ne se connectent que rarement au site, à des dates souvent éloignées, et oublient donc souvent leur mot de passe.

Je propose 2 solutions, il doit en y avoir d'autres.
Lorsqu'une une demande de restitution de mot de passe est effectuée :

  1. Un mail est envoyé avec un lien comportant un token généré en fonction de l'utilisateur et timestamp, le token ainsi qu'un timestamp d'expiration ston stockés en base et permettent de retrouver l'utilisateur
  2. Un click sur le lien permet d'arriver sur une page ou un nouveau mot de passe est demandé (2 fois évidemment)
  3. Puis l'utilisateur se connecte

Ou

  1. Un mail est envoyé avec un mot de passe généré aléatoirement et set à l'utilisateur (la base ne doit toujours connaitre que le mot de passe crypté, à aucun moment le mot de passe clair ne doit être stocké).
  2. L'utilisateur peut se connecter avec son mot de passe sur le site
  3. L'utilisateur peut (c'est mieux pour lui) changer son mot de passe dans la section profil

Methode 1 :
.+ Plus sécurisée, aucun mot de passe ne transite par mail
.+ Le token s'invalide au bout d'un certain temps
.- Plus long à l'implémentation
.- Demande une à deux nouvelles pages interfaces

Methode 2 :
.+ Rapide et facile d'implémentation (juste l'envoie d'un mail et la génération d'un mot de passe)
.- Le mot de passe est envoyé par mail et n'expire pas
.- La sécurité du compte de l'utilisateur dépend d'une opération optionnelle de sa part (changer son mot de passe une fois connecté)

Historique des mobilités

Une vue pour chaque étudiant, dans laquelle il peut choisir d'indiquer toutes ses mobilités (actuelles, antérieures ou à venir), avec dates. L'utilisateur doit pouvoir ajouter, modifier ou supprimer ces informations librement.

Impossible de choisir Passau, Allemagne

Je n'arrive pas à rechercher la ville de Passau en Allemagne. Lorsque je regarde les données JSON retournées il y a des résultats pour Passau mais l'interface ne les propose pas. J'ai essayé d'envoyer une requête POST à la main pour changer ma localisation mais j'ai une erreur 500 sûrement parce que j'ai pas respecté le protocole.

HTTPS

En fait, le site est accessible en HTTPS donc il faut effectuer les modification suivantes :

  • dans le back rediriger la racine pour utiliser HTTPS
@app.before_request
def before_request():
    if request.url.startswith('http://'):
        url = request.url.replace('http://', 'https://', 1)
        code = 301
        return redirect(url, code=code)
  • dans le front requêter l'API en HTTPS

Hachage du mot de passe.

Actuellement le hash du mot de passe se fait par SHA 256.
J'ouvre cette issue pour discuter du fait qu'il faille ajouter un sel.
@halflings et @PandiPanda69 pourront prendre part à la discussion en etant les initiateurs.

alerte nouvel arrivant

  • Prévenir par e-mail un nouvel arrivant de la même promo dans une ville commune ?
    (email / notification dans l'application / ... )

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.