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
A simple single-color identicon generator

Identicons What are identicons? Setup: git clone https://github.com/vjdad4m/identicons.git cd identicons pip3 install -r requirements.txt chmod +x

Adam Vajda 1 Oct 31, 2021
This is a Blender 2.9 script for importing mixamo Models to Godot-3

Mixamo-To-Godot This is a Blender 2.9 script for importing mixamo Models to Godot-3 The script does the following things Imports the mixamo models fro

8 Sep 02, 2022
Canim1 - Simple python tool to search for packages without m1 wheels in poetry lockfiles

canim1 Usage Clone the repo. Run poetry install. Then you can use the tool: ❯ po

Korijn van Golen 1 Jan 25, 2022
Low-level Python CFFI Bindings for Argon2

Low-level Python CFFI Bindings for Argon2 argon2-cffi-bindings provides low-level CFFI bindings to the Argon2 password hashing algorithm including a v

Hynek Schlawack 4 Dec 15, 2022
CarolinaCon CTF Online

CarolinaCon Online CTF CTF challenges from CarolinaCon Online April 23 through April 25, 2021. All challenges from the CTF will eventually be here. Co

49th Security Division 6 May 04, 2022
「📖」Tool created to extract metadata from a domain

Metafind is an OSINT tool created with the aim of automating the search for metadata of a particular domain from the search engine known as Google.

9 Dec 28, 2022
Self sustained producer-consumer(prosumer) policy study using Python and Gurobi

Prosumer Policy This project aims to model the optimum dispatch behaviour of households with PV and battery systems under different policy instrument

Tom Xu 3 Aug 31, 2022
A python program for rick rolling people.

Rickware A python program for rick rolling people. (And annoying them too) What is rick roll? Read this wikipedia article - Rickrolling About program

2 Jan 18, 2022
The Begin button and menu for the Meadows operating system. The start button for UNIX/Linux.

By: Seanpm2001, Meadows Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af Afrikaans Afri

Sean P. Myrick V19.1.7.2 4 Aug 28, 2022
A simple panel with IP, CNPJ, CEP and PLACA queries

Painel mpm Um painel simples com consultas de IP, CNPJ, CEP e PLACA Início 🌐 apt update && apt upgrade -y pkg i python git pip install requests Insta

MrDiniz 4 Nov 04, 2022
This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator

Late-Bound Arguments This package tries to emulate the behaviour of syntax proposed in PEP 671 via a decorator. Usage Mention the names of the argumen

Shakya Majumdar 0 Feb 06, 2022
Tutorial on Tempo, Beat and Downbeat estimation

Tempo, Beat and Downbeat Estimation By Matthew E. P. Davies, Sebastian Böck and Magdalena Fuentes Resources and Jupyter Book for the ISMIR 2021 tutori

49 Nov 06, 2022
A python script that changes your desktop background based on current weather and time of the day.

Desktop background wallpaper, based on current weather and time A python script that changes your computer's desktop background based on current weath

Maj Gaberšček 1 Nov 16, 2021
Simply create JIRA releases based on your github releases

Simply create JIRA releases based on your github releases

8 Jun 17, 2022
Use Ghidra Structs in Python

Strudra Welcome to Strudra, a way to craft Ghidra structs in python, using ghidra_bridge. Example First, init Strudra - you can pass in a custom Ghidr

Dominik Maier 27 Nov 24, 2022
Building an Investment Portfolio for Day Trade with Python

Montando um Portfólio de Investimentos para Day Trade com Python Instruções: Para reproduzir o projeto no Google Colab, faça o download do repositório

Paula Campigotto 9 Oct 26, 2021
SpaCy3Urdu: run command to setup assets(dataset from UD)

Project setup run command to setup assets(dataset from UD) spacy project assets It uses project.yml file and download the data from UD GitHub reposito

Muhammad Irfan 1 Dec 14, 2021
A prototype COG-based tile server for sparse Mars datasets

Mars tiler Mars Tiler is a prototype web application that serves tiles from cloud-optimized GeoTIFFs, with an emphasis on supporting planetary dataset

Daven Quinn 3 Mar 23, 2022
Demo scripts for the Kubernetes Security Webinar

Kubernetes Security Webinar [in Russian] YouTube video (October 13, 2021) Authors: Artem Yushkovsky (LinkedIn, GitHub) Maxim Mosharov @ Whitespots.io

Slurm 34 Dec 06, 2022
Find functions without canary check (or similar)

Ghidra Check Protector Which non-trivial functions don't reference the stack canary checker (or other, user-defined function)? Place your cursor to th

buherator 3 Jan 17, 2022