The Bookshelf site: visit here.
A project to review books you read, leave reviews, rate your best reads. Have a list of favorites books, share the best books with friends.
Using Materilizecss for a responsive front-end.
-
Color Scheme from materializecss color Scheme
For User Stories and Features
-
Design
- balsamiq
- to Build wireframes
- LucidCharts
- to build entity relationship diagram
- balsamiq
-
Application
- python3
- pip
- installs project dependencies
- Flask
- Python http micro framework
- Flask_blueprints
- to improve code organization, by build a more module structure on the project
- Gunicorn on Heroku
- venv
- For a clean local development environment
-
Front-End
-
Testing
-
Deployment
-
Data Storage
- MongoDb
- Data storage technology of choice
- flask-pymongo
- package to support mongo data manipulation.
- mongo local docker image
- mongoTools(Dump/Restore)
- MongoDb
-
Local development tools
Once you have your local environment setup follow the steps on the Testing document to run tests frequently and avoid regression.
default_book_cover_image from pixabay
landing_page image from pixabay
Ideas in app structure and data management inspired by the miguel Grinberg's flask mega-tutorial
-
get_config_function_for_unittesting
- Useful for setting up unittest framework in order to Mock MongoPy calls. Once TestConfig is loaded and imported to test. I was able to user
MagicMock
to return mock values from database calls
- Useful for setting up unittest framework in order to Mock MongoPy calls. Once TestConfig is loaded and imported to test. I was able to user