GithubHelp home page GithubHelp logo

changkun / uniworxmonitor Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 0.0 1.11 MB

🖥 A better LMU UniWorX System with new courses notifications.

Home Page: http://changkun.de/uniworx

License: MIT License

Python 13.58% Shell 1.07% JavaScript 29.65% HTML 50.23% CSS 5.47%
lmu-uniworx

uniworxmonitor's Introduction

UniWorX Monitor

A better LMU UniWorX System with new courses notifications.

IF YOU HAVE ANY PROBLEM AND IMPROVEMENT IDEA, PLEASE OPEN AN ISSUE OR START A PULL REQUEST THAT HELPS ME IMPROVE THIS PROJECT.

CMD Version

Install dependencies:

To run UniWorX Monitor CMD version, please cd into cmd folder. And you also need install requirements:

sudo pip3 install -r requirements.txt

Configure your account:

Fill your UniWorX account information inside infos.json

Run:

Then you are free to go:

python3 main.py

Note:

  1. Your first execution will create a json file to store all courses status if you removed the courses.json inside the repo folder;
  2. Afterwards every time you execute this script can monitor the UniWorX for any course status change;
  3. Terminal output gives you the up-to-date changes informations for you, you can also check the log.txt for change history.

Example Result

Local store sample:

courses.json

Local logs:

log.txt

Execution sample:

AUTOMATED TASK

The section related file is placed on autotask

for macOS

Daily automated execution with notification.

Example:

Please read autotask/README.md for setup guide.

for Windows/Linux

You might need find your own setup method, but PR welcome!

WEB Version

The section related file is placed on frontend and backend

Web service is still in development.

You can visit: http://changkun.de/uniworx

GUI VERSION

GUI desktop version will be developed based on web version

License

MIT © Changkun

uniworxmonitor's People

Contributors

changkun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

uniworxmonitor's Issues

GUI Version Proposal

This project currently requires command line to use and it displays changes in the command line and txt file.

I open this issue to investigate a GUI version for this program, which probably gives more user friendly program to users.

Upgrade to Python3 Only

Support Python 2 and 3 has too much drawbacks for development and maintains.

Considering Python 2 will be dead in 2020, I propose to migrate this project to Python3

Wrong detection for registed course

This is a bug that happens on the following scenario:

Step 1. Applied a Praktikum or Seminar;
Step 2. This course become "Not Possible" to apply;
Step 3. Successfully applied for the course.

Single Page Application of UniWorX

With the improvements of this project, I think here is a chance to build a better UniWorX system.

Thus I open this issue to discover the possibility of SPA of UniWorX.

To archive this, I wish to practice the following skills:

  1. Front End: VueJS or Polymer stuff;
  2. Back End: Express, RESTful, etc.

Notice that once we archive this, the GUI version (#1) are possible encapsulated by Electron.

run main.py, error occurs

Traceback (most recent call last):
  File "main.py", line 219, in <module>
    main()
  File "main.py", line 215, in main
    monitor()
  File "main.py", line 149, in monitor
    new_courses = fetch_new_courses_status()
  File "main.py", line 87, in fetch_new_courses_status
    status, cookies = login()
  File "main.py", line 56, in login
    payload = load_info()
  File "main.py", line 45, in load_info
    payload = json.load(file_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 268, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid control character at: line 3 column 29 (char 60)

Feature request: courses scheduling

This issue is for

  1. 给一个时刻表,排列每天的课程,并可视化显示,了解课程冲突情况。
  2. 按天显示[窄屏幕], 按周显示[宽屏幕]
  3. 时间在前显示[列表显示]

Subscribe Service

I open this issue to investigate the web services of UniWorXMonitor.

This will give us a website that enables user can provide their email to subscribe notification for new courses.

Warning when Computer Offline

I open this issue because this program will not present to users a warning when the computer is offline.

This causes the notification gives No Further Changes information to users, but actually need to run this program again until the network works fine.

Introducing MongoDB

This project currently uses local files to store data. It isn't that much persistent for our data.

To introducing MongoDB into this project, we only need modify the loader.py by using pymongo.

Linux/Window Automated Task Support

I open this issue for the automated task on Linux and Windows.

This program needs to find a solution on Linux and Windows since I am currently not familiar with the automated task on these OS.

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.