Giter Site home page Giter Site logo

link's Introduction

Application Link

  1. Présentation de l'application
  2. Manuel d'installation et d'utilisation
  3. Fonctionnalitées implémentées
  4. Liste des bugs connus et améliorations à apporter

1 - Présentation de l'application

Link est une application de chat permettant à ses utilisateurs d'échanger entre eux via un principe pour le moins original: l'utilisateur ne peut pas choisir à qui il envoie ses messages mais il peut choisir le rayon (en km) dans lequel il peut envoyer/recevoir des messages aux/des autres utilisateurs de l'application.


2 - Manuel d'installation et d'utilisation

Pour utiliser l'application sur Windows:

Prérequis:

  1. Node.js
  2. Cordova
  3. Java 1.8 (la version est importante)
  4. Gradle
  5. MongoDB
  6. Android Studio avec cmd-line tools installé
  7. Au moins un émulateur android disponible (créé via ligne de commandes ou via Android Studio) OU un téléphone portable android connecté au PC et connecté en wifi au même sous réseau que le serveur
  8. Localisation active sur l'appareil android utilisé

Pour installer l'application: - Modifier dans le fichier frontend/www/js/constants.js la variable const SERVER_IP avec l'adresse IP locale de l'ordinateur - Dans un terminal aller dans le répertoire linkproject/frontend et faire: -> npm install -> cordova platforms add android -> cordova build android - Dans le répertoire linkproject/backend faire : -> npm install

NB: Certaines étapes au cours de l'installation peuvent prendre du temps (de l'ordre de 5 min suivant le débit de conenxion)

Pour lancer l'application: - Dans un terminal aller dans linkproject/backend et faire: -> npm start - Dans un deuxième terminal aller dans linkproject/frontend et faire: -> cordova emulate android (pour lancer l'application dans un émulateur) OU cordova run android (pour lancer l'application sur un téléphone android connecté au PC)

ATTENTION: Pour pouvoir utiliser l'application il faut autoriser manuellement l'application à accéder à la position de l'appareil dans les paramètres du téléphone


3 - Fonctionnalitées implémentées

Lorsqu'un utilisateur n'est pas connecté à l'application

  • Création d'un compte sur l'application. Pour pouvoir créer un compte l'utilisateur doit fournir
    • un pseudo
    • un email
    • un numéro de téléphone
    • un mot de passe
  • Connexion d'un utilisateur à l'application

Lorsqu'un utilisateur est connecté à l'application

  • Dans la page d'accueil: consultation des messages envoyés par les autres utilisateurs s'ils sont dans la portée d'émission et de réception de messages. Possibité de naviguer entre la page d'ajout d'activité, de modification de profil, d'affichage de la carte et de déconnexion

  • Dans la page d'ajout d'activité: l'utilisateur peut écrire son message dans cette page avant de l'envoyer aux autres utilisateurs. Il a également la possibilité de joindre une photo à son message. NB: Tous les messages envoyés et reçus ont une date d'expiration. En théorie les messages doivent expirer sous 24h.

  • Dans Profile: possibilité de modifier le profil de l'utilisateur, i.e. son pseudo, son numéro de téléphone, son mot de passe. C'est ici qu'on modifie la portée (en km) dans laquelle l'utilisateur recevoir des messages.

  • Dans Map: affichage de la carte sur laquelle est située un marqueur situant la position de l'utilisateur de l'application, un cercle symbolisant la portée d'émission et de récéption des messages et des marqueurs situant la position des autres utilisateurs ayant posté au moins un message n'ayant pas encore expiré.

  • Possibilité de déconnexion de l'application

NB: Pour les besoins des tests et de la démonstration les messages expirent sous 2 min au lieu de 24h.

NB 2: Deux comptes tests sont à disposition du testeur:

Compte n°1: Nom d'utilisateur/Pseudo: [email protected] Mot de passe: testtest

Compte n°2: Nom d'utilisateur/Pseudo: [email protected] Mot de passe: testtest


4 - Liste des bugs connus et améliorations à apporter

Bugs connus:

  1. Lors de l'affichage de la carte, problème lors de l'affichage de la position des autres utilisateurs

Améliorations possibles:

  • Affichage des messages ne provenant que d'utilisateurs connus dans le carnet d'adresses (pour l'instant et par choix de conception un simple <Nom d'utilisateur> (in contact list) ou <Nom d'utilisateur> (not in contact list) s'affiche dans l'en-tête du message)

  • Vérifications renforcées lors de l'inscription d'un utilisateur de l'application (par exemple vérification de l'existence de l'email fourni et/ou vérifications de la force du mot de passe plus poussées)

  • Possibilité pour l'utilisateur d'envoyer un photo à partir de la galerie tu téléphone et/ou d'envoyer d'autres fichiers multimédias (vidéos/son/...)

  • Possibilté pour l'utilisateur de choisir/modifier une photo de profil

  • Possibilité pour l'utilisateur d'accéder au profil des autres utilisateurs

  • Création de fils de discussions

  • Améliorer l'UI et l'UX

link's People

Contributors

kacemjd avatar

Watchers

 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.