Driving lessons made simpler. Custom scheduling API built with Python.

Related tags

MiscellaneousDryvo
Overview

NOTE

This is a mirror of a GitLab repository.

Dryvo

Dryvo

Dryvo is a unique solution for the driving lessons industry. Our aim is to save the teacher’s time and to increase revenues, and for the students to have control on the entire process. Dryvo is changing the way driving lessons are being managed.

The problem

Teachers spend most of their time dealing with phone calls from students, scheduling lessons and planning their routes and topics for each student. Students are having a hard time keeping track of their payments, lessons, and progress. They usually have no idea when they are ready for a driving test or what topics they will be learning next.

The solution

Dryvo is a platform for driving lessons scheduling and management. We aim for teachers and students to have control on the entire process - from co-scheduling lessons to tracking payments and topics. Students can track their progress, see what topics they have learned and control their payment balance. Teachers, on the other hand, can focus on each lesson without having to worry about scheduling lessons or dealing with payments ahead. In addition to the easier interaction service we offer, we plan on adding many more features - smart lessons scheduler, where the machine will know the teacher preferences and can automatically decide lesson times. Moreover, an efficient route-planner so the teacher can save valuable time and cut on gas expenses.

Key features

  • Smart scheduling by:
    • Student & appointments locations
    • Traffic and arrivals time
    • Student requirements
    • Internal rules taught by dozens of teachers
    • Teacher work days
  • Lesson tracking
  • Payments tracking
  • Lesson topics
  • PDF reports for students
  • Teacher reviews

Installation

Dryvo can be installed using pip similar to other Python packages. If you want to use the PDF reporting feature, you would have to install Weasyprint.

$ pip install .

Or with installing the tests requirements:

$ pip install .[test]

Getting Started

$ flask run

Dryvo uses Flask as a web framework, therefore running the app is the same as any other Flask app. If you want to use a production server such as gunicorn, you can use the command below:

$ gunicorn --preload --chdir ./server "app:create_app()"

Running tests

$ python run -m pytest

Structure Explanation

├── LICENSE
├── Procfile
├── README.md
├── logs
├── messages.pot
├── migrations - Database migrations using Alembic
├── server
│   ├── __init__.py
│   ├── api - Everything regarding the API endpoints
│   │   ├── __init__.py
│   │   ├── babel.py
│   │   ├── blueprints - Flask blueprints, endpoints divided by logic
│   │   ├── database
│   │   │   ├── __init__.py
│   │   │   ├── consts.py
│   │   │   ├── database.py
│   │   │   ├── mixins.py
│   │   │   ├── models - Database models, where each file is essentialy a table
│   │   │   └── utils.py
│   │   ├── gmaps.py - Google Maps integration
│   │   ├── push_notifications.py
│   │   ├── rules - Custom student rules for scheduling
│   │   ├── social - Social networks integration
│   │   └── utils.py
│   ├── app.py - Main entry point for the application
│   ├── app_config.py
│   ├── babel.cfg
│   ├── consts.py
│   ├── error_handling.py
│   ├── extensions.py
│   ├── static
│   ├── templates - PDF reports templates (HTML)
│   │   └── reports
│   └── translations
├── setup.cfg
├── setup.py
└── tests
Owner
Adam Goldschmidt
Enthusiastic about security stuff.
Adam Goldschmidt
python package to showcase, test and build your own version of Pickhardt Payments

Pickhardt Payments Package The pickhardtpayments package is a collection of classes and interfaces that help you to test and implement your dialect of

Rene Pickhardt 37 Dec 18, 2022
An upgraded version of extractJS

extractJS_2.0 An enhanced version of extractJS with even more functionality Features Discover JavaScript files directly from the webpage Customizable

Ali 4 Dec 21, 2022
*考研学习利器,玩电脑控制不住自己时,可以使用该程序定日期锁屏,同时有精美壁纸锁屏显示,也不会枯燥。

LockscreenbyTime_win10 A python program in win10. You can set the time to lock the computer(by setting year, month, day), Fullscreen pictures will sho

PixianDouban 4 Jul 10, 2022
Algorand Python API examples

Algorand-Py Algorand Python API examples This repo will hold example scripts to monitor activities on Algorand main net. You can: Monitor your assets

Karthik Dutt 2 Jan 23, 2022
An attempt at furthering Factorio Calculator to work in more general contexts.

factorio-optimizer Lets do Factorio Calculator but make it optimize. Why not use Factorio Calculator? Becuase factorio calculator is not general. The

Jonathan Woollett-Light 1 Jun 03, 2022
This is a Python 3.10 port of mock, a library for manipulating human-readable message strings.

This is a Python 3.10 port of mock, a library for manipulating human-readable message strings.

Alexander Bartolomey 1 Dec 31, 2021
A partial-transpiler that converts a subset of Python to the Folders esoteric programming language

Py2Folders A partial-transpiler that converts a subset of Python to the Folders esoteric programming language Folders Folders is an esoteric programmi

Daniel Johnson 1 Dec 23, 2021
Easily map device and application controls to a midi controller

pymidicontroller Introduction Easily map device and application controls to a midi controller

Tane Barriball 24 May 16, 2022
🍞 Create dynamic spreadsheets with arbitrary layouts using Python

🍞 tartine What this is Installation Usage example Fetching some data Getting started Adding a header Linking more cells Cell formatting API reference

Max Halford 11 Apr 16, 2022
OCR-ID-Card VietNamese (new id-card)

OCR-ID-Card VietNamese (new id-card) run project: download 2 file weights and pu

12 Jun 15, 2022
Your one and only Discord Bot that helps you concentrate!

Your one and only Discord Bot thats helps you concentrate! Consider leaving a ⭐ if you found the project helpful. concy-bot A bot which constructively

IEEE VIT Student Chapter 22 Sep 27, 2022
A shim for the typeshed changes in mypy 0.900

types-all A shim for the typeshed changes in mypy 0.900 installation pip install types-all why --install-types is annoying, this installs all the thin

Anthony Sottile 28 Oct 20, 2022
Python library for the analysis of dynamic measurements

Python library for the analysis of dynamic measurements The goal of this library is to provide a starting point for users in metrology and related are

Physikalisch-Technische Bundesanstalt - Department 9.4 'Metrology for the digital Transformation' 18 Dec 21, 2022
Is a polybar module that will show you your progress in Hack The Box

HTB-Status for Polybar Is a polybar module that will show you your progress in Hack The Box indicating your current rank, global rank, points and resp

bitc0de 8 Jan 14, 2022
A refresher for PowerBI Desktop documents

PowerBI_Refresher-NPP Informació Per executar el programa s'ha de tenir instalat el python versio 3 o mes. Requeriments a requirements.txt. El fitxer

Nil Pujol 1 May 02, 2022
Parser for air tickets' price

Air-ticket-price-parser Parser for air tickets' price How to Install Firefox If geckodriver.exe is not compatible with your Firefox version, download

Situ Xuannn 1 Dec 13, 2021
CaskDB is a disk-based, embedded, persistent, key-value store based on the Riak's bitcask paper, written in Python.

CaskDB - Disk based Log Structured Hash Table Store CaskDB is a disk-based, embedded, persistent, key-value store based on the Riak's bitcask paper, w

886 Dec 27, 2022
⏰ Shutdown Timer is an application that you can shutdown, restart, logoff, and hibernate your computer with a timer.

Shutdown Timer is a an application that you can shutdown, restart, logoff, and hibernate your computer with a timer. After choosing an action from the

Mehmet Güdük 5 Jun 27, 2022
A script to download all the challenges and files from the CTFd instance.

Python CTFd Downloader A script to download all the challenges and files from the CTFd instance. Installation Clone this repo: git clone https://githu

Jacob Elliott 19 Dec 16, 2022
Cairo-integer-types - A library for bitwise integer types (e.g. int64 or uint32) in Cairo, with a test suite

The Cairo bitwise integer library (cairo-bitwise-int v0.1.1) The Cairo smart tes

27 Sep 23, 2022