ska-referee-test/REFERENCES.md

70 lines
3.1 KiB
Markdown
Raw Normal View History

# References for Learning Flask, etc
## Documentation
### Docker/Docker-Compose
- [Docker Compose Reference](https://docs.docker.com/compose/compose-file/compose-file-v3/)
## Source Code
- [MongoDB Docker Image entrypoint shell script](https://github.com/docker-library/mongo/blob/master/5.0/docker-entrypoint.sh) (Context: Tried to replicate the command to create a new user in the original entrypoint script in the custom initialisation script in this app.)
## Guides
### Flask General
- [How to structure Flask Projects](https://www.digitalocean.com/community/tutorials/how-to-structure-large-flask-applications)
- [Tables](https://www.blog.pythonlibrary.org/2017/12/14/flask-101-adding-editing-and-displaying-data/)
- [Tables, but interactive](https://blog.miguelgrinberg.com/post/beautiful-interactive-tables-for-your-flask-templates)
## YouTube Tutorials
### General Flask Introduction
- [Part 1: Basics](https://www.youtube.com/watch?v=mqhxxeeTbu0)
- [Part 2: HTML Templates](https://www.youtube.com/watch?v=xIgPMguqyws)
- [Part 3: Bootstrap and Jinja](https://www.youtube.com/watch?v=4nzI4RKwb5I)
- [Part 4: HTTP Methods and Data Handling](https://www.youtube.com/watch?v=9MHYHgh4jYc)
- [Part 5: Sessions](https://www.youtube.com/watch?v=iIhAfX4iek0)
- [Part 6: Flashing Alerts](https://www.youtube.com/watch?v=qbnqNWXf_tU)
- [Part 9: Static Files](https://www.youtube.com/watch?v=tXpFERibRaU)
- [Part 10: Blueprints and Sub-Files](https://www.youtube.com/watch?v=WteIH6J9v64)
- [All in One with some more precise methods and techniques](https://www.youtube.com/watch?v=GW_2O9CrnSU)
Note: These tutorials use an outdated version of Bootstrap where some of the elements no longer apply.
### Build a User Log-In System using Python and MongoDB
- [Part 1](https://www.youtube.com/watch?v=w1STSSumoVk)
- [Part 2](https://www.youtube.com/watch?v=mISFEwojJmE)
- [Part 3](https://www.youtube.com/watch?v=tIoiR3N34i8)
- [Part 4](https://www.youtube.com/watch?v=5oC4-j3WWIk)
This method uses a basic HTML form and handles log-ins manually (rather than `flask-login` or `flask-auth`).
It uses `sessions` to handle user interactions (rather than cookies).
A better method would be to layer this with other Flask modules, such as `flask-login`, `flask-auth`, `flask-wtforms`, etc.
This tutorial is nevertheless really useful for integrating with **MongoDB**.
### Creating a User Login Session using Python, Flask, and MongoDB
- [Tutorial](https://www.youtube.com/watch?v=vVx1737auSE)
A much simpler and more rudimentary introduction to Flask and MongoDB.
### `flask-login`
- [Intro to `flask-login`](https://www.youtube.com/watch?v=2dEM-s3mRLE)
- [Build a User Login System with `flask-login`, `flask-wtforms`, `flask-bootstrap`, and `flask-sqlalchemy`](https://www.youtube.com/watch?v=8aTnmsDMldY)
A much more robust method that uses the various Flask modules to make a more powerful framework.
Uses SQL.
### Flask techniques
- [Create a `config.py` file](https://www.youtube.com/watch?v=GW_2O9CrnSU)
### Flask handling file uploads
- [Handling File Uploads](https://blog.miguelgrinberg.com/post/handling-file-uploads-with-flask)