Skip to content
forked from du2x/pystro

pystro is a simple and easy to use and to extend restaurant api and webapp written in Flask.

License

Notifications You must be signed in to change notification settings

railroadman/pystro

 
 

Repository files navigation

pystro

Build Status

pystro is a simple and easy to use and to extend api for restaurant managements apps.

pystro has basic restaurant business functionalities, expressed visually on following use case diagram:

use case diagram

pystro is written in Flask, tries to follow principles SOLID, KISS and DRY and Flask specific best practices, taking, for example, miguelgrinberg as one of the main references. We also follow pep8 style guide.

pystro uses SQLAlchemy as ORM framework. The models of pystro are those on the following class diagram:

models class diagram

pystro also uses Flask-Restful extension for better api design and creates a Flask Blueprint for each restaurant unit added on database, and registers the proper resources for them.

Usage

pystro runs with python3 (and possibly with python2). There are a docker container configuration. You can run pystro with or without docker.

With docker

Simply run docker-compose.

docker-compose up --build

Without docker

  1. First, you need to install mysql 5-6+ and create the pystro database and user.

    Enter mysql shell (mysql -uroot -p) and type the following commands:

    create database pystro;

    create user pystro@localhost;

    grant all privileges on pystro.* to pystro@localhost identified by 'devpassword';

  2. Create and activate the python virtualenv.

    virtualenv -p python3 venv

    source venv/bin/activate.sh

  3. export FLASK_APP

    export FLASK_APP=pystro.py

  4. run it

    flask run

We are open!

pystro will be always open source, licensed under GPL3.

Feel free to contribute!

About

pystro is a simple and easy to use and to extend restaurant api and webapp written in Flask.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 68.1%
  • TypeScript 24.4%
  • HTML 4.6%
  • JavaScript 1.9%
  • Mako 0.6%
  • Shell 0.3%
  • CSS 0.1%