Architecture
Wireframe
ERD
The Vision
Traditional Goju-Ryu martial arts relies on a complex, hierarchical syllabus that is often managed through paper logs and manual tracking. I built the Dojo App to modernize this process—creating a digital mirror of a physical practice. It is a full-stack forms management system that handles the rigorous progression from 10th Kyu (White Belt) to 8th Dan (Black Belt).
Three Engineering Decisions That Mattered
Syllabus Engine — translating 48+ traditional forms (Kata, Bunkai, Kumite) into a rigid data schema was the hardest part. The requirements system prevents curriculum inconsistencies: practitioners only see forms relevant to their rank and lineage.
Soft-Delete — accidental data loss in a training environment is demoralizing. A dedicated Trash interface allows immediate correction while maintaining a permanent audit trail without cluttering the active database.
Multi-Tenant Isolation — owner-scoped queries and MongoDB indexing ensure every practitioner's data is completely isolated, protected by JWT authentication and bcrypt hashing.
Technical Deep Dive
As an instructor of Okinawan Goju-Ryu, I built this to solve a real problem in my own field — not to code an app.
Project Type
Full-Stack CRUD Application
Tech Stack
Backend: Node.js, Express.js, MongoDB (MEN
Stack)
Security: Bcryptjs, Express-session, Helmet
Frontend: EJS (Server-side rendering), Custom
CSS, Chart.js
Role
Full-Stack Developer & Domain Expert
Methodology
RESTful CRUD, Soft-delete patterns, Database seeding