Giter Site home page Giter Site logo

delyzer's Introduction

Delyzer

Statistical aevaluation of delays in the Vvs network. Delyzer is an application to observe the line you need so that you can set your alarm as late as possible. Late (high risk) is counted as a delay > 3 minutes.

Contributors

  • Matthias Schneider - {{MatrikelNummerHier}}
    • Data retrieval
    • graphic representation
  • Samuel Matzeit - {{MatrikelNummerHier}}
    • Data preparation
    • REST-Backend
  • Dennis Hilgert - {{MatrikelNummerHier}}
    • Django setup
    • Data Collection

Setup

Installation

python3 -m venv .venv                 # Create virtual python environment
. .venv/bin/activate                  # Unix - Activate virtual python environment
. .venv/Scripts/activate.bat          # Windows

deactivate                            # Deactivate virtual python environment
pip install -r requirements.txt       # Create the superuser account for /admin login
python manage.py migrate              # Migrate database
python manage.py createsuperuser      # Create the superuser account for /admin login

Collect data

python manage.py collect_data [--observe-station <station-id> OR --observe-line <line-name>] [--clear True]

# Please note that you have to lookup the station id of the target station with the following command first or observe a line
python manage.py find_station_id --station-name Stadtmitte
# If you want to observe a station and collect the departure data of e.g. Stadtmitte, then use
python manage.py collect_data --observe-station 5006056
# If you want to observe all stations of a line and collect the departure data of e.g. S1, then use
python manage.py collect_data --observe-line S1
# If you want to clear your database before collecting new data, then add the argument --clear True to your command

Start Backend

. .venv/bin/activate                  # Unix - Activate virtual python 
python manage.py runserver            # Start the Server

Start Frontend

  • tkinter is required
python frontend/app.py                # Start frontend

Guidelines

  • Follow the naming conventions for python projects
    • Use snake_case for files, functions and variables
    • Use PascalCase for classes
  • Use single quotes (except doc-strings)
  • Declare private variables with __variable
  • Use self-explainatory naming for functions and variables
  • Comments and doc strings have to be written in english
  • Everything that will be displayed to the user has to be written in german

Tech-stack

  • Django
  • djangorestframework
  • Pandas
  • vvspy
  • pylint
  • matplotlib
  • tkinter

Useful commands

  • tkinter is required
python frontend/app.py                # Start frontend
python manage.py runserver            # Run server 
python manage.py makemigrations       # Generate migrations after making changes on models
python manage.py migrate              # Apply changes to the database

delyzer's People

Contributors

matze1128 avatar samuelmatzeit-e4u avatar samuelmatzeit avatar dennishilgert avatar

Watchers

 avatar

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.