Skip to content

StatusHistory

Ville Salmela edited this page Oct 21, 2023 · 2 revisions

Milestone 1 (10.9.2023)

Operational functionalities

  • Users can create new accounts using their email as username
    • Access to the email is verified with verification code
  • Users can save new functions to the library
    • Linting with pylint
    • Automated documentation using OpenAI API
    • Automated generation of unit tests using OpenAI API
    • Automated execution of unit tests using AWS Lambda
    • Automated keyword classification using OpenAI API
  • Users can browse functions saved by other people

Milestone 2 (24.9.2023)

New operational functionalities (since milestone 1)

  • Admins can:
    • list all users
    • disable and enable users
    • suspend and unsuspend users
    • revoke user's all sessions
    • promote users to admin
    • demote admins to user
    • delete users (along with all their data)
  • Users can delete their own functions from the library
  • Admins can delete any functions from the library
  • Added navigation bar
  • Added indicator that displays currently logged in user

New back-end features (since milestone 1)

  • Changed to using server-side session
    • Logout now permanently invalidates session
    • Server can invalidate sessions without client cooperation
    • Client can no longer read its session data, just a session ID
  • Increased security by controlling headers with Flask-Talisman
    • Content Security Policy (CSP)
    • HTTP Strict Transport Security (HSTS)
    • Refuse to send cookies over HTTP
    • Deny Javascript access to cookies
    • Disallow rendering page in a frame
    • Disable MIME type sniffing
    • Disallow sending cookie on cross-site requests (SameSite=Strict)
  • Configured and instructed usage of Development Containers extension for VSCode

New documentation (since milestone 1)

  • Started listing security considerations on README
  • Added description of database schema on README

Clone this wiki locally