Giter Site home page Giter Site logo

applets / etsmobile-android2 Goto Github PK

View Code? Open in Web Editor NEW
12.0 24.0 11.0 17.26 MB

Portail étudiant mobile regroupant les principaux services accessibles aux étudiants de l'École de technologie supérieure.

Home Page: http://clubapplets.ca

License: Apache License 2.0

HTML 1.15% Java 98.85%
etsmobile android ets mobile app java

etsmobile-android2's Introduction

Disponible sur Google Play

Build Status

ETSMobile-Android2

ÉTSMobile est un portail étudiant mobile regroupant les principaux services accessibles aux étudiants de l'École de technologie supérieure. Cette application est conçue et réalisée par les membres du club étudiant ApplETS en partenariat avec les systèmes d'entreprise de l'ÉTS. C'est une application faite PAR et POUR les étudiants où chacun est libre de contribuer à son évolution. Si vous désirez vous impliquer activement dans le développement de cette application, vous adresser aux représentants du club.

etsmobile-android2's People

Contributors

clouths avatar erickavalec avatar imaden avatar jventalon avatar komlan55 avatar ldev6 avatar marcantvez avatar pageau4 avatar pdavid0 avatar powereborn avatar sdetilly avatar slafii avatar sonphil avatar soskarom avatar ttauveron avatar tymarc avatar yvesmillette avatar zaclimon avatar

Stargazers

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

Watchers

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

etsmobile-android2's Issues

Intégrer MonÉTS dans le menu

En attendant de meilleures intégrations, il serait appréciable d'ajouter un accès rapide à MonÉTS depuis ÉTSMobile dans une WebView.

Dans un premier temps, cela pourrait consister à ouvrir un navigateur sur l'url de MonÉTS sans WebView.
Dans un deuxième temps, nous pourrions utiliser CAS afin que l'utilisateur n'ait pas à entrer son mot de passe à chaque fois.

Afficher tous les cours dans les notes

Actuellement, seulement 5 cours s'affichent en ligne.
Il faut permettre d'afficher d'autres cours sur une ligne en dessous pour les utilisateurs qui ont plus que 5 cours.

Changements dans l'API cooptel pour la bande passante des résidences

Cooptel a changé son API pour voir la consommation d'internet aux résidences étudiantes.
Désormais, on entre sa chambre pour connaitre sa consommation personnelle, l'internet ne semble plus être partagé pour tout l'appartement.

Finalement, l'affichage de l'internet restant dans ETSMobile pourrait se résumer à une progress bar comme celle-ci :
image

Une proposition serait de retirer l'onglet "bande passante" et proposer à l'utilisateur de rentrer sa phase,appartement et numéro de chambre dans les préférences puis afficher la consommation dans la page Today.

Sinon, simplement ajouter un champs pour sélectionner chambre A,B,C ou D dans la page "Bande passante" et garder le fonctionnement comme avant (après mise à jour de l'API)

Voilà la nouvelle URL à utiliser dans l'application : https://api3.clubapplets.ca/cooptel?phase=1&appt=206&chambre=a

Ajouter une vue "Moodle Assignments"

Les Moodle Assignments sont les travaux à rendre sur la plateforme Moodle.

Il existe un endpoint dans l'API Moodle qui permet d'obtenir ces Assignments contenant les dates de remise.

https://ena.etsmtl.ca/webservice/rest/server.php?moodlewsrestformat=json&wstoken=(TOKEN)&wsfunction=mod_assign_get_assignments&courseids[]=(COURSE_ID)

Il serait potentiellement intéressant d'avoir une vue dans l'application pour consulter les travaux à rendre et éviter les rendus en retard.

Fusionner TodayFragment et HoraireFragment

Vue en liste : les 2 ne doivent pas être dans la separé

  • Horraire journée courante
  • Liste de cours suivant la journée courante jusqu'à la fin de la session

Vue calendrier
Laisser tel quel

Amélioration de l'interface utilisateur ÉTSMobile Wearable

Mon coloc a installé ÉTSMobile sur sa montre intelligente, j'ai pu voir de quoi ça avait l'air.
Voici une proposition de changements sur l'interface utilisateur :

conception interface utilisateur etsmobile wearable

Les contours rouges sont un Progress qui commence gris au début du cours et devient entièrement rouge à la fin.

Mettre a jour l'item de menu

Lorsqu'on passe d'un vue A à la vue de profil, dans la bar de menu le item de la vue A est encore mis en évidence. Il faudrait enlever cette mise en evidence, puisqu'elle est supposé indiqué la vue courante

Chargement infructueux des portlets dans MonETS

Lorsque l'on ouvre l'onglet MonETS, les portlets chargent à l'infini sans afficher l'information.
Il est possible que cela soit un problème d'AJAX à l'intérieur d'une webview.
Peut être que le problème pourrait se régler en changeant la configuration de la webview.
Une solution pourrait aussi être d'ouvrir MonETS dans le navigateur à la place de l'afficher dans une webview.

image

Remettre les événements ÉTS dans l'horaire et la vue Today

Tout ceci avait été commenté dans le code source lorsque nous changions la stratégie d'authentification à l'API et que les fonctions ne répondaient plus.

En effet, nous allons parser les calendriers de l'ÉTS pour en récupérer les événements et les proposer à la communauté étudiante.

Il va donc falloir rajouter ces événements et s'assurer qu'ils s'intègrent bien graphiquement dans les vues Today et Horaire.

Quelques pistes :
https://github.com/ApplETS/ETSMobile-Android2/blob/dev/app/src/main/java/ca/etsmtl/applets/etsmobile/util/HoraireManager.java#L85
https://github.com/ApplETS/ETSMobile-Android2/blob/dev/app/src/main/java/ca/etsmtl/applets/etsmobile/ui/fragment/TodayFragment.java#L85
https://github.com/ApplETS/ETSMobile-Android2/blob/dev/app/src/main/java/ca/etsmtl/applets/etsmobile/ui/fragment/HoraireFragment.java#L183

https://github.com/ApplETS/ETSMobile-Android2/blob/dev/app/src/main/java/ca/etsmtl/applets/etsmobile/http/AppletsApiCalendarRequest.java

Corriger le bug dans la moyenne des notes

Il arrive qu'après un scroll, la moyenne d'un cours s'affiche avec des valeurs incorrectes, dans le détail des notes.
Il y a apparemment une erreur dans l'Adapter.

Afficher la moyenne pour les cours de la session actuelle

Un commentaire nous a été laissé par un utilisateur qui voudrait que l'on fasse comme dans iOS dans l'onglet "notes", c'est-à-dire d'afficher la moyenne de l'étudiant pour les cours de la session actuelle (les cours de la session précédente ont la cote de l'étudiant, tandis que les cours de la session actuelle ont "--")

Corriger le bug du lien téléphonique dans le bottin

Ceci est une suggestion intéressante de David Morgan.

Il serait pertinent de permettre d'initialiser un appel ou d'envoyer un courriel en interagissant respectivement avec le numéro de téléphone ou le courriel dans le bottin.

Changer la source du calendrier ETS

Changer la source ici :
https://github.com/ApplETS/ETSMobile-Android2/blob/master/app/src/main/res/values/webservices.xml#L21

À remplacer par la nouvelle URL : https://api3.clubapplets.ca/calendar/%1$s/%2$s/%3$s

Et enlever les manipulations JSONObject/JSONArray et l'authentification ici :
https://github.com/ApplETS/ETSMobile-Android2/blob/master/app/src/main/java/ca/etsmtl/applets/etsmobile/http/AppletsApiCalendarRequest.java

L'ancien format JSON était :

{
  "data": {
    "ets": [
      {
        "start_date": "2017-01-04T00:00:00Z",
        "id": "[email protected]",
        "end_date": "2017-01-05T00:00:00Z",
        "summary": "Début de la session d'hiver 2017"
      },
      {
        "start_date": "2017-01-18T00:00:00Z",
        "id": "[email protected]",
        "end_date": "2017-02-01T00:00:00Z",
        "summary": "Extension de la période de modifications d’inscription avec remboursement pour annulation de cours pour les nouveaux étudiants aux baccalauréats uniquement."
      },
      {
        "start_date": "2017-01-04T00:00:00Z",
        "id": "[email protected]",
        "end_date": "2017-01-18T00:00:00Z",
        "summary": "Période de modifications d’inscription sans mention au dossier universitaire (avec remboursement)"
      }
    ]
  }
}

Le nouveau format JSON est maintenant :

[
  {
    "id": "[email protected]",
    "summary": "Début de la session d'hiver 2017",
    "start_date": "2017-01-04T00:00:00Z",
    "end_date": "2017-01-05T00:00:00Z"
  },
  {
    "id": "[email protected]",
    "summary": "Extension de la période de modifications d’inscription avec remboursement pour annulation de cours pour les nouveaux étudiants aux baccalauréats uniquement.",
    "start_date": "2017-01-18T00:00:00Z",
    "end_date": "2017-02-01T00:00:00Z"
  },
  {
    "id": "[email protected]",
    "summary": "Période de modifications d’inscription sans mention au dossier universitaire (avec remboursement)",
    "start_date": "2017-01-04T00:00:00Z",
    "end_date": "2017-01-18T00:00:00Z"
  }
]

Corriger l'export du calendrier

Retours d'utilisateur :

D'abord, l'option ne permettait pas de choisir ce qui devrait être exporté et je me suis donc retrouvé avec beaucoup d'événements pour lesquels j'avais peu d'intérêt. J'aurais aimé pouvoir indiquer que je ne voulais que mon horaire de cours ou mes examens, et exclure les événements tels que les périodes d'inscription, etc.

Après avoir réalisé que l'option ne me convenait pas, j'ai voulu supprimer les événements pour lesquels je n'avait pas d'intérêt, mais mon application de calendrier cessait de fonctionner dès le moment où je tentais d'interagir avec un événement du calendrier généré par l'application de l'ETS. Que ce soit pour une modification, une suppression ou simplement l'affichage des détails de n'importe lequel des événements du calendrier. Pour information, ceci se produit sur un Samsung Galaxy S7 Edge, avec l'application S Planner.

Finalement, puisque le calendrier créé par l'application de l'ETS était complètement inutilisable, j'ai voulu supprimer celui-ci. Simplement "cacher" le calendrier n'allait pas être suffisant pour moi. Je n'ai pas été en mesure de trouver une option pour supprimer le calendrier à même l'application de l'ETS, ce qui m'a forcé à utiliser une application tierce pour m'en occuper. À mon avis, toute application exportant un calendrier de cette façon devrait fournir les options nécessaires pour retirer ce calendrier si l'utilisateur le désire.

En espérant que ces commentaires vous soient utiles pour l'amélioration de cette fonctionnalité qui, selon moi, à beaucoup de potentiel si bien gérée.

Réévaluer les permissions de l'application

Hello,

Pour commencer : l'application a l'air vraiment cool, et le fait que les sources soient dispo' ajoute une plus-value inéstimable... et la possibilité de créer des issues de ce genre 😜

Requête : Pourquoi nécessite-t-elle d'avoir accès à la géo-localisation ?
J'ai parcouru un peu ce qu'elle propose, et en ai conclu que les accès aux contacts, au calendrier, au stockage et au téléphone pourraient effectivement servir, mais pas la localisation.
Est-ce que je me trompe, ou bien est-elle vraiment inutile et devrait-être retirée ?

Merci !

Notes indisponible lors de la période d'évaluation des cours

Présentement, il n'y a aucun message d'erreur si un utilisateur veut voir ses notes mais est dans l'impossibilité car il doit répondre à l'évaluation des cours. Il faudrait faire un check pour voir si une note est supposé être visible et créer un message d'erreur expliquant la situation.

Ajouter un today widget

On devrait avoir un widget qui permet de voir les cours que l'on a aujourd'hui du même style qu'un calendrier.

Ajouter un tri sur la page aujourd'hui

Un cours modifié s'ajoute à la fin de la liste, même si c'est le premier cours qui a lieu.
Il faut ajouter un tri dans la page aujourd'hui pour que les cours s'affichent en ordre.

Ajouter un fil d'actualité dans la section des nouvelles

Actuellement, afin de consulter les nouvelles publications, l'utilisateur doit cliquer sur chaque source auquelle il s'est abonnée. Il serait intéressant d'ajouter un fil d'actualité présentant toutes les publications des sources choisies afin que l'utilisateur puisse consulter rapidement les nouvelles publications.

Refactor: DefaultHttpClient

Le problème est que notre code utilise, à plusieurs reprises, DefaultHttpClient pour communiquer avec nos API. Ceci est un problème car avec les nouvelles versions du Android SDK, cette librairie n'est plus supporté. Il serait donc préférable de changer tous les instances du DefaultHttpClient pour OkHttp. OkHttp est une librairie très populaire et facile à utiliser.

Pour un exemple sur l'utilisation de OkHttp, vous pouvez consulter BandwidthFragment.java :)

PS: Tu peux générer un code presque "tout-fait" sur Postman. Simplement entrer le URL dans Postman et clicker sur generate Code puis choisir Java > OkHttp.

Ajouter le local à l'id des séances

Les identifiants des séances sont construits avec le CoursGroupe, la date début et la date de fin. Il faut rajouter le local car il arrive qu'un même cours groupe ait lieu dans 2 salles différentes.

Ajouter un menu pour les paramètres de l'application

Suite à de nombreux commentaires des utilisateurs qui trouvent contraignant le fait de lier la langue du téléphone à ÉTSMobile, il faudrait ajouter un menu «Paramètres» global à toute l'application (Comme «Déconnexion») qui permet de changer la langue de l'application.

Notification silencieuse une heure avant le cours

L'idée est de créer une notification soit silencieuse (elle apparaît dans la notification bar sans faire vibrer/sonner le téléphone), soit configurable (le user décide) environ une heure avant le cours. La notification contiendrait l'information du local, heure-début, heure-fin et le nom du cours.

Inclure le numéro de groupe dans le détail des notes

Le numéro de groupe apparaît actuellement que dans l'horaire ce qui fait que pour les cours des sessions suivantes nous ne savons pas à partir de l'application dans quel groupe nous sommes inscrit. Une solution pour palier à ce manque serait de l'intégrer dans le détail des notes.

Ajouter un tri sur les cours dans Moodle

Les cours s'affichent maintenant dans le mauvais ordre sur Moodle, il y a donc besoin d'un tri pour que l'ordre aille de la session la plus récente à la plus ancienne, quelque soit la réponse de l'API Moodle.

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.