- Blueprints for modularity and clean codebase,
- Flask-admin for Admin views and easy realtime management,
- Flask-SQLAlchemy for SQL models,
- Flask-Caching with redis for efficient caching,
- Flask-login for session handling,
- Flask-wtf for responsive forms,
- Flask-mail for mail service,
- Flask-bcrypt for password hashing and security,
Keeping to a consistent code style throughout the project makes it easier to contribute and collaborate. Please stick to the guidelines in and the Google Style Guide unless there’s a very good reason not to.
$ black .
$ flake8 src/ --max-line-length=88 --show-source --statistics
if flake8 shows any errors or warnings, please fix the changes in a new commit and squash all the commits into one before submitting the PR.
Guide on squashing commits: here
See: Issues and the following To-do list. Or just ping one of the mentors with new ideas.
Note: All PRs should be made against the latest changes in the
develop
branch.
- Ideas for additional logging techniques to prevent flag sharing, cheating and such. (Issue: #7)
- Dark theme for
admin control
panel. (Issue: #16) - Testing Password reset functionality, the mail-server setup, etc.
- More info on
home.html
- Need to implement
account.html
- Support for more hashes per box (not a priority)
- Support for n number of boxes (accordions? seperate route?). (Issue: #17)
- Rating system: Average Box rating - input, calculate, output. (Issue: #14)
- Freeze Scoreboard automatically past running time specified (Issue: #3)
- Adding a
Deploy to Heroku
button. (Issue: #15) - Adding CI, Linting, Formatting specs. (Issue: #18)
- db relationship between User and Score Tables (priority | issue: #5)
- isAdmin column in User table and Admin views (priority)
- Notifications
- Use Flask Blueprints
- Finalize black theme?
- Error messages not appearing in
/submit
- Implement
machine.html
to server a page where one can download/serve machines