GithubHelp home page GithubHelp logo

stypox / quadermas Goto Github PK

View Code? Open in Web Editor NEW
17.0 5.0 4.0 6.32 MB

Android app to fetch and view data from "Quaderno Elettronico Mastercom"

License: GNU General Public License v3.0

Java 98.18% Python 0.92% Ruby 0.58% Shell 0.31%
workbook mastercom-workbook homework mastercom school register-logs

quadermas's Introduction

Quadermas - Mastercom workbook client

Mastercom is an italian company which provides services to schools (i.e. register-logs). One of these services is a website named "Workbook" (in italian "Quaderno Elettronico") made for students to access marks, timetables, files... This app is an Android client that wraps around the website and is able to show subjects, marks, topics, homework, timetables, events and documents. It is lightweight (~5MB) and uses Material Design.

Note: only the student's credentials will work, the parents' ones won't

The information shown in Quadermas comes from the same APIs of the official websites of schools' electronic workbooks, but Quadermas is not affiliated with "Mastercom", any school, the Italian government or other government entities.

Get it on F-Droid Get it on GitHub Get it on Play Store

Features

Login

  • Log in with your Workbook credentials to any school that uses the Mastercom platform. Just insert the id of the school (e.g. davinci-tn), the user id (e.g. 123456) and the password, and you are ready to go!
  • The id of the school is the first part of the URL you would use to access the workbook online, as explained in the app. You will get a popup list with all of the schools that use Mastercom and you will be able to search through them.
  • Log out is available, and school id and user id are remembered.

Subjects

  • Loads the list of subjects on startup and shows them in the home page, along with the corresponding teacher and marks' average.
  • Calculate the average by term of the marks of a subject.
  • Calculate which mark you need to get in the next X tests so that your average becomes Y. X and Y can both be chosen.

Marks

  • Every mark has a value, a description, a teacher and a date. Not-classified marks are supported (e.g. "A", or Absent).
  • The marks view shows marks (from a subject, or all) in a list that can be sorted by value and by date.
  • The statistics view shows a graph of marks (from a subject, or all). Clicking on a point in the graph shows the mark info.

Topics & homework

  • Every topic belongs to a subject and has a title, a date and possibly also a description and some assigned homework.
  • The topics view shows topics (from a subject, or all) in a list, with a button that allows showing only topics with homework assigned.

Timetable

  • See the timetable for a particular day, selectable with dedicated buttons.
  • Tap on a timetable event to add it to the phone's calendar.

Events

  • Every event has a title, a begin-end pair of dates/times and possibly also an organizer and a description.
  • There can be two types of events: annotations, with a red indicator, and events, with a blue one. Imminent events and events in the future are highlighted, respectively, in yellow and green. A dismissable legend helps keep track of the meaning of the colors.
  • Tap on an event to add it to the phone's calendar.

Documents

  • Find the documents you need thanks to filters (by year and by subject).
  • Download a document by just tapping on it: an Android notification will show up. After the download has finished the notification can be clicked to view the downloaded document.

Settings

  • Choose the theme you prefer between light, dark and black.
  • Setup the start date of the second term.
  • Choose not to load marks directly.

quadermas's People

Contributors

exaxee avatar poussinou avatar stypox avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

quadermas's Issues

School list and/or School finder

Is your feature request related to a problem? Please describe.
There is no problem, just a suggestion.

Describe the solution you'd like
I don't know if this app is used anymore but, I would like to suggest using the "official app" api to load the possible schools list. The usage is quite easy, it consists of a GET to this url https://mp.registroelettronico.com/v3/scuole/?format=json&token=TOKEN where the token is the crappiest thing I've ever seen generated by the code below.

import java.util.*;
import java.lang.*;
import java.security.MessageDigest;
import java.text.SimpleDateFormat;

class Rextester // yea tested on the rex cause no java f
{  
    public static void main(String args[])
    {
        System.out.println(crappyToken(new SimpleDateFormat("yyyyMMdd").format(new Date()) + "secret"));
    }
    
    public static String crappyToken(String str) {
        try {
            byte[] digest = MessageDigest.getInstance("SHA-256").digest(str.getBytes("UTF-8"));
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b : digest) {
                String hexString = Integer.toHexString(b & 255);
                if (hexString.length() == 1) {
                    stringBuffer.append('0');
                }
                stringBuffer.append(hexString);
            }
            return stringBuffer.toString();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}

I realized now that is might not be clear, obviusly this is intended to make the user experience better with a search bar instead of a text box.

Describe alternatives you've considered
None

Homework page

A page for see all the homeworks in various order (date, subject, teacher) to avoid checking homework for every subject in every subject's page.

Login failure

In italiano:
In fase di login, scelgo "liceo da vinci trento", introduco nome utente e password, procedo e mi esce la scritta "json della risposta non valido".
Ho riprovato disinstallando prima Mastercom ufficiale e reinstallando l'app, stesso errore.
Uso un oneplus 8t. Android aggiornato all'ultima versione.

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.