A webapp showcasing the implementation of the main components for a Flask application, demonstrating the main components of an "Ask for Waiter" in a restaurant and keeping track of your orders. | It also show how to integrate and make use of MongoDB, ensure secure authentication with haslib, and apply url-obfuscation with bitlyhelper. |
-
Heroku - Heroku is a container-based cloud Platform as a Service (PaaS).
-
Check the bring-my-food-production instance;
-
!!! No split of this project in dev, staging, production since the limit for free web apps, hosted on Heroku (for free), is very small [hey, give me some money and I'll apply the full dev-cycle ;) ]
Want to contribute? Great!
To fix a bug or enhance an existing module, follow these steps:
- Fork the repo
- Create a new branch (
git checkout -b improve-feature
) - Make the appropriate changes in the files
- Add changes to reflect the changes made
- Commit your changes (
git commit -am 'Improve feature'
) - Push to the branch (
git push origin improve-feature
) - Create a Pull Request
If you find a bug kindly open an issue here by including the steps to reproduce it.
If you'd like to request a new function, feel free to do so by opening an issue here.
- Flask - Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. And before you ask: It's BSD licensed!.
- The Book Flask: Building Python Web ServicesGareth Dwyer, Shalabh Aggarwal, Jack Stouffer While using the tutorials described in this book, I made the following improvement:
- adapted the overall architecture of the current Flask webapp to a more reusable one;
- added a mock-database, to make it usable and deployable on Heroku (but with a locally installed MongoDB, it works fine with the real DB);
- prepared the necesary files to make it deployable to Heroku in seconds!!!
- Add Unit Tests;
- Add CI using Travis CI;
- Improve upon app's architecture, using templates and styling;
- Integrate the app with a real MongoDB DataBase, directly on Heroku (with a locally installed MongoDB, it works fine, though);
- (...to be added, there is always stuff that can be added);
MIT © Victor Barbaros