Skip to content

Latest commit

 

History

History
85 lines (63 loc) · 4.11 KB

CONTRIBUTING.md

File metadata and controls

85 lines (63 loc) · 4.11 KB

Contributing to RTB-CTF-Framework

GitHub contributors

GitHub issues by-label GitHub issues by-label GitHub issues by-label

This project makes use of the following Flask libraries

  • 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,

Style Guide

Keeping to a consistent code style throughout the project makes it easier to contribute and collaborate. Please stick to the guidelines in Code style: black and the Google Style Guide unless there’s a very good reason not to.

Before submitting a Pull Request, please run these 2 commands locally

$ 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

Contact

Join us on slack

Where to start ?

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.

To-do

  • 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