Giter VIP home page Giter VIP logo

open-polito / open-polito Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 3.0 11.49 MB

The unofficial, open-source app for PoliTo students. Available for mobile, desktop & web.

Home Page: https://open-polito.github.io

License: GNU General Public License v3.0

JavaScript 2.47% Starlark 0.14% Java 6.80% Objective-C 0.57% Ruby 0.96% TypeScript 82.21% Shell 0.36% C++ 1.72% Objective-C++ 1.53% Python 1.56% Rust 0.06% HTML 1.08% CMake 0.06% Kotlin 0.46%
react-native android javascript react react-native-web tauri typescript polito

open-polito's Issues

Rewrite data handling logic in a more flexible way

Rewrite data handling logic (re-think Redux and React's Context API usage) in a way that is easier to manage and less bug-prone.
Structure of the new data logic should also take into account issues #39 and #40, which shall be immediately implemented after this issue is resolved.

Login error when re-opening app after downloading a file

It seems the access token is not valid anymore after a file download is performed (from the Material section).
The issue seems to arise only when restarting the app. Downloading multiple files works, as does opening the webmail after downloading files.

Unsure if this is because a new API key must be used after a file download, or if this is an error from the API, or if the token gets somehow mutated/deleted after a file download.

Courses page

Main points:

  • Create a courses page
  • Create a page for viewing course details

Material: add help button for instructions

The user should know where the folder where files are stored is located. Similarly, it should be clear how to delete files or select multiple files, or the use, and the existence thereof, of other future features of this page. Add a help button.

Widgets

It could be interesting to have home screen widgets, eg. upcoming lessons, upcoming bookings, recent materials, or recent notifications. Note that this can't be done directly in react native.

Material: offline viewing mode

Main points:

  • The app will store the material tree for offline viewing
  • Downloaded files will be usable as usual
  • Non-downloaded files will be grayed-out and the download icon will be replaced by an offline indicator
  • This enhancement requires implementation of online/offline detection.

Request limiter (by request type)

Implement a request limiter for each request type in order to allow same requests only after some defined time. This is to prevent overloading the servers, especially when fetching data that doesn't update often.

Hide courses

Add an option to hide some courses. This can be useful when courses aren't relevant, eg. because they are from a different semester, they were already taken (and in these specific cases we might want to hide them automatically), or because the student will take the exam in another semester.

Material: manage downloads in-app in special folder

Main points:

  • File downloads should be handled in-app, with a notification informing the user on the download progress
  • After download is complete, the download icon will be replaced by another icon (checkmark or "remove" icon)
  • Clicking on said icon will ask the user whether they want to remove the file. File will be kept or deleted according to choice.

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.