Mobile + Backend
Appointly
Appointment booking with in-app chat and voice/video calls: a Flutter app with a Django backend, built end to end.
Case study, Full-Stack
A university course platform with student/admin roles, secure login and full course management — bcrypt password hashing, JWT sessions and role-based access.
Context
Course enrolment paperwork is slow and error-prone. This system gives students a searchable catalogue and admins full control over courses and users.
My role: Built as a full-stack university project — Node.js/Express backend, MySQL schema, jQuery frontend.
Implementation
bcrypt hashing and JWT sessions; protected routes return 401 without a token.
A MySQL schema (UniversityDB) for users, courses and enrolments.
Tested against a real database: login, course listing and unauthorised access all checked.
Evidence
The points below summarize the public repository and owner-provided CV where noted. Read the source for implementation details before drawing further conclusions.
Auth and validation checks against the live server.
Whole codebase.
Boundaries
Continue exploring