One game. A shared state.
A JavaFX Othello client backed by a Java server, a shared message protocol and SQLite persistence.
Explore the projectSoftware / Security
An educational file-sharing application with two-factor authentication, isolated storage and audit logs.
01 / The challenge
Design a usable file-sharing flow while introducing authentication, storage boundaries and activity records.
This Flask application explores the security concerns around file storage and sharing: who can sign in, what they can access and how activity is recorded. SQLite stores application data, while per-user directories separate uploaded files.
02 / The approach
Use Argon2 password hashing and TOTP two-factor authentication.
Separate user storage, expose folder sharing and check upload size and type.
Record sensitive actions and apply rate limits to relevant endpoints.
03 / Outcomes
04 / Scope & next steps
Field notes / Visual documentation
