Git Product home page Git Product logo

notre-dame-android's Introduction

Projet Notre-Dame : Android

Build Status

This project is the placeholder for the next generation of ETSMobile currently available for Android. ETSMobile is first and foremost the main way between the user and the École de technologie supérieure (ÉTS) on mobile devices. It offers:

  • Access to evaluation grades
  • Access to the student's schedules
  • And many more...

Note: This guide is available in: Français

Prerequisites

  • Git
  • Java Development Kit (JDK)
  • Android Studio

Architecture

This application uses an architecture based on the Android Architecture Components (AAC). Specifically, it uses the following components:

You can find out more by visiting the wiki.

Libraries and tools

This project uses a variety of libraries and tools.

  • Android Support Libraries : A set of libraries that provide features that are unavailable in the the standard framework as well as backward compatibility classes for newer APIs.
    • AppCompat v7
    • Design
    • Support v4
    • CardView
    • RecyclerView
    • ConstraintLayout
    • AOSP Codes
  • Android Architecture Components : A collection of libraries that help developers design robust, testable, and maintainable apps.
  • Kotlin : Computer language used for the development of this project
  • JUnit : Unit testing framework
  • Mockito : Testing framework that allows the creation of mock objects
  • MockWebServer : Library for simulating HTTP responses
  • Glide : Library for loading and caching images
  • Dagger2 : Dependency injection framework
  • Moshi : Library for parsing JSON into Java objects
  • Retrofit2 : Type-safe HTTP client
  • Material Design Dimens : Library containing default colors and dimensions per Material Design guidelines and Android Design guidelines
  • LeakCanary : A memory leak detection library
  • Ktlint Gradle : Wrapper plugin over the ktlint project. Ktlint provides rules that enforce coding standards.
  • And more...

License

This projet is licensed under the Apache License V2.0. See the LICENSE file for more info.

notre-dame-android's People

Contributors

mykaelll87 avatar sonphil avatar zaclimon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notre-dame-android's Issues

Création de la vue par défaut

  • Création de la barre de navigation inférieure
  • Ajout des sections dans la barre de navigation
  • Changement des sections en fonction de la sélection de la barre

Considérer l'utilisation d'un RateLimiter

Actuellement, les repository ne contiennent aucune logique dans la méthode shouldFetch. En effet, elle se fie seulement à un paramètre formel.
Ex. : https://github.com/ApplETS/Notre-Dame-Android/blob/dev/repository/src/main/kotlin/ca/etsmtl/repository/data/repository/signets/SessionRepository.kt#L43

Cela entraîne des situations ou des données sont demandées aux services alors qu'elles n'ont pas encore été changées. De plus, deux demandeurs pourraient demander une ressource de manière concurrente ce qui déclencheraient l'envoi de deux requêtes au serveur web et ce, pour un même résultat. En d'autres mots, il n'y a actuellement aucune limitation quant à la fréquence de rafraichissement.

L'introduction d'un RateLimiter nécessite qu'au moins les questions suivantes doivent être répondues :

  • Quel est l'intervalle de temps?
  • Comment permettre à un demandeur de forcer le rafraîchissement?

Référence : https://github.com/googlesamples/android-architecture-components/blob/master/GithubBrowserSample/app/src/main/java/com/android/example/github/util/RateLimiter.kt

Urgences: Types

Types d'urgence où une section spécifique sera requise.

  • Appel à la bombe 💣
  • Colis suspect 📦
  • Incendie 🔥
  • Odeur suspecte 💨
  • Panne d'ascenseur ⛔️
  • Panne électrique ⚡️
  • Personne armée 🔫
  • Urgence médicale 🏥

Gabarit sur l'architecture du projet

  • Choix de l'architecture
  • Structure des paquets
  • Explication sur les choix de l'architecture (Markdown)
  • Explication concrète des technologies utilisés (librairies, exemples, etc...)

Exemple concret ici

Urgences: Système de modèle/vue

Relation entre la couche de données et la couche des vues pour les urgences.

Exemple: Une liste avec un modèle selon les différents types d'urgences.

  • Création du modèle
  • Création de la liste
  • Création de l'adaptateur/contrôleur

Urgences: Vue d'un type d'urgence particulier

Manière de représenter les urgences lorsque dans une section. Entre autres:

  • Format (HTML, PDF, Texte brut, etc...)
  • Mise en page
  • Liens pour contact immédiat (Téléphone, courriel)

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.