https://github.com/Sean-Bradley/Seans-Python3-Flask-Rest-Boilerplate
https://github.com/Sean-Bradley/Seans-Python3-Flask-Rest-Boilerplate
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/Sean-Bradley/Seans-Python3-Flask-Rest-Boilerplate
- Owner: Sean-Bradley
- License: mit
- Created: 2019-02-28T22:27:22.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-21T06:23:00.000Z (11 months ago)
- Last Synced: 2024-08-14T07:08:55.541Z (8 months ago)
- Language: Python
- Size: 211 KB
- Stars: 107
- Watchers: 7
- Forks: 105
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - Sean-Bradley/Seans-Python3-Flask-Rest-Boilerplate - (Python)
README
## Seans Python3 Flask Rest Boilerplate
### MIT License
Rememeber, No guarantees, or even fit for a particular purpose.This project will be updated slowly as required, so stay tuned.
If you have a suggestion, or you want to contribute some code, you are free to make a pull request.
Your contributions will be visible since this project is public.
### To Setup and Start
```bash
pip install -r requirements.txt
python app.py
```### Get All Request Records
```bash
curl -X GET http://127.0.0.1:5000/request
```### Get One Request Record
```bash
curl -X GET http://127.0.0.1:5000/request/04cfc704-acb2-40af-a8d3-4611fab54ada
```### Add A New Record
```bash
curl -X POST http://127.0.0.1:5000/request -H 'Content-Type: application/json' -d '{"title":"Good & Bad Book", "email": "[email protected]"}'
```### Edit An Existing Record
```bash
curl -X PUT http://127.0.0.1:5000/request -H 'Content-Type: application/json' -d '{"title":"edited Good & Bad Book", "email": "[email protected]"}'
```### Delete A Record
```bash
curl -X DELETE http://127.0.0.1:5000/request/04cfc704-acb2-40af-a8d3-4611fab54ada
```## Unit Test with Nose
```bash
nosetests --verbosity=2
```### Test Output
```bash
$ nosetests --verbose --nocapture
app_test.test_get_all_requests ... ok
app_test.test_get_individual_request ... ok
app_test.test_get_individual_request_404 ... ok
app_test.test_add_new_record ... ok
app_test.test_get_new_record ... ok
app_test.test_edit_new_record_title ... ok
app_test.test_edit_new_record_email ... ok
app_test.test_add_new_record_bad_email_format ... ok
app_test.test_add_new_record_bad_title_key ... ok
app_test.test_add_new_record_no_email_key ... ok
app_test.test_add_new_record_no_title_key ... ok
app_test.test_add_new_record_unicode_title ... ok
app_test.test_add_new_record_no_payload ... ok
app_test.test_delete_new_record ... ok
app_test.test_delete_new_record_404 ... ok------------------------------------------------------------------------------------
Ran 15 tests in 15.285sOK
```## Swagger UI
Hosted Locally
http://127.0.0.1:5000/swagger/###
Hosted via Heroku
https://seans-python3-flask-rest.herokuapp.com/swagger/###
Hosted via Docker-compose and Nginx
http://127.0.0.1/swagger/### Video Tutorial on adding Swagger-UI to this Python Flask API
[](https://youtu.be/iZ2Tah3IxQc)## Heroku
[](
https://heroku.com/deploy?template=https://github.com/Sean-Bradley/Seans-Python3-Flask-Rest-Boilerplate)You can also test this api on heroku.
Live : https://seans-python3-flask-rest.herokuapp.com/request
use the above curl commands replacing `http://127.0.0.1` with `https://seans-python3-flask-rest.herokuapp.com`
### Video Tutorial Hosting this Python Flask Rest API on Heroku
[](https://youtu.be/O_xEqtjh1io)
# Design Patterns In Python
To help support this project, please check out my book titled **Design Patterns In Python**
https://www.amazon.com/dp/B08XLJ8Z2J
https://www.amazon.co.uk/dp/B08XLJ8Z2J
https://www.amazon.in/dp/B08Z282SBC
https://www.amazon.de/dp/B08XLJ8Z2J
https://www.amazon.fr/dp/B08XLJ8Z2J
https://www.amazon.es/dp/B08XLJ8Z2J
https://www.amazon.it/dp/B08XLJ8Z2J
https://www.amazon.co.jp/dp/B08XLJ8Z2J
https://www.amazon.ca/dp/B08XLJ8Z2J
https://www.amazon.com.au/dp/B08Z282SBC
ASIN : B08XLJ8Z2J / B08Z282SBC
---
Thanks
Sean