Final Report: Development of UTE GYM Membership Management System
Manual and paper-based gym membership tracking commonly leads to lost records, missed renewal dates, unverifiable payments, and no reliable way to separate what front-desk staff, trainers, and members are each allowed to do. This report presents the design and development of the UTE GYM Membership Management System, a role-based web application built in Python using the Flask framework, the SQLAlchemy ORM, Jinja2 templates, and a relational MySQL/SQLite3 database. The system was developed following Object-Oriented Programming principlesencapsulation, inheritance, polymorphism, and abstraction and a four-layer architecture that separates presentation (routes and templates), business logic (services), data access (repositories), and persistent storage (database). Four roles are supported: Admin, Staff, Trainer, and Member, each constrained by a role-based access control (RBAC) layer enforced through route decorators and a UserFactory that maps each account to a permission-bearing domain class. Core features include member registration, membership-plan enrollment and renewal, payment recording and verification, attendance check-in, and trainer-assigned training sessions. The development followed an iterative, prototype-oriented workflow: requirements analysis, OOP and database design, layer-by-layer implementation, and automated testing with pytest covering authentication, RBAC, models, services, schema contracts, and the staff check-in flow. Results show a working, testable system that models the full membership lifecycle and enforces business rules such as pending-until-verified payments and dynamically computed membership status. The report concludes with an evaluation of the system's functionality, usability, and maintainability, and proposes future improvements including a fully role-restricted production deployment, richer reporting, and (per the guideline's original scope) a native desktop client.
27 Sep 2026
0
99