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 script that automates the tasks involved in starting a new coding project

Auto Project Builder Automates the repetitive tasks while starting a new project Installation Use the REQUIREMENTS.txt file to install the dependencie

Prathap S S 1 Feb 03, 2022
Repository to store sample python programs for python learning

py Repository to store sample Python programs. This repository is meant for beginners to assist them in their learning of Python. The repository cover

codebasics 5.8k Dec 30, 2022
Forward RSS feeds to your email address, community maintained

Getting Started With rss2email We highly recommend that you watch the rss2email project on GitHub so you can keep up to date with the latest version,

248 Dec 28, 2022
A tool to allow New World players to calculate the best place to put their Attribute Points for their build and level

New World Damage Simulator A tool designed to take a characters base stats including armor and weapons, level, and base damage of their items (slash d

Joseph P Langford 31 Nov 01, 2022
Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder

Cylinder-Volume-Calculator Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder. Size : 10.5 mb compat

Abhijeet 4 Nov 07, 2022
My collection of mini-projects in various languages

Mini-Projects My collection of mini-projects in various languages About: This repository consists of a number of small projects. Most of these "mini-p

Siddhant Attavar 1 Jul 11, 2022
A simple 3D rigid body simulation written in python

pyRigidBody3d A simple 3D rigid body simulation written in python

30 Oct 07, 2022
A PG3D API Made with Python

PG3D Python API A Pixel Gun 3D Python API (Public Ver) Features Count: 29 How To Use? import api as pbn Examples pbn.isBanned(192819483) - True pbn.f

Karim 2 Mar 24, 2022
Minutaria is a basic educational Python timer used to learn python and software testing libraries.

minutaria minutaria is a basic educational Python timer. The project is educational, it aims to teach myself programming, python programming, python's

1 Jul 16, 2021
Python script which synchronizes the replica-directoty with the original-one.

directories_synchronizer Python script which synchronizes the replica-directoty with the original-one. Automatically detects all changes when script i

0 Feb 13, 2022
Structured, dependable legos for starknet development.

Structured, dependable legos for starknet development.

Alucard 127 Nov 23, 2022
Islam - This is a simple python script.In this script I have written all the suras of Al Quran. As a result, by using this script, you can know the number of any sura at the moment.

Introduction: If you want to know sura number of al quran by just typing the name of sura than you can use this script. Usage in termux: $ pkg install

Fazle Rabbi 1 Jan 02, 2022
Awesome open-source alternatives to SaaS

Awesome-oss-alternatives - Awesome list of open-source startup alternatives to well-known SaaS products

Runa Capital 12.7k Jan 03, 2023
Artificial intelligence based on 5-dimensional quantum selection

Deep Thought An artificial intelligence based on 5-dimensional quantum selection. Algorithm The payload Make an random bit array (e.g. 1101...) Conver

Larry Holst 3 Dec 14, 2022
Blender-miHoYo-Shaders - Shaders for Blender attempting to replicate the shading of games developed by miHoYo

Blender-miHoYo-Shaders - Shaders for Blender attempting to replicate the shading of games developed by miHoYo

Matsuri 449 Jan 07, 2023
A code to clean and extract a bib file based on keywords.

These are two scripts I use to generate clean bib files. clean_bibfile.py: Removes superfluous fields (which are not included in fields_to_keep.json)

Antoine Allard 4 May 16, 2022
Data-driven Computer Science UoB

COMS20011_2021 Data-driven Computer Science UoB Staff Laurence Aitchison [ 6 May 16, 2022

Some basic sorting algos

Sorting-Algos Some basic sorting algos HacktoberFest 2021 This repository consists of mezzo-level projects that undertake a simple task and perform it

Manthan Ghasadiya 7 Dec 13, 2022
A Desktop application for the signalum python library

Signalum Desktop A Desktop application on the Signalum Python Library/CLI Tool. The Signalum Desktop application is an attempt to develop a single too

BISOHNS 35 Feb 15, 2021
A python trivium implemention

A python trivium implemention

tnt2402 1 Nov 12, 2021