លំហសិក្សាកម្ពុជា លំហសិក្សាកម្ពុជា V1.0
ចូល ចុះឈ្មោះ
personal
FitTrack — Web-Based Gym Management, From Member Sign-Up to Self-Service

Many gyms still manage member information, memberships, attendance, and trainer scheduling using paper records or disconnected spreadsheets. This slows down daily operations, increases the chance of data-entry errors, and makes it difficult for staff to quickly check a member's status or history. This proposal presents the design of the Gym Management System (GMS), a web-based application built with Python, Flask, and MySQL that centralizes member registration, online membership purchase, attendance logging, trainer-session booking, and payment tracking within a single role-based platform. Visitors can browse membership plans and trainers freely; creating an account is only required to purchase a membership or request a trainer. The system supports four roles (Administrator, Staff, Trainer, and Member) each governed by a role-and-permission model that restricts every user to the features relevant to their responsibilities. Members log in to their own self-service dashboard to view their current membership plan and expiry date, their assigned trainer, their attendance history, and the total amount they have spent on membership and trainer sessions. The application is built on a three-layer object-oriented architecture (Domain Models, Service Layer, and Repository Layer) on top of a normalized MySQL database, keeping the codebase testable, maintainable, and easy to extend. This document sets out the problem the system addresses, its objectives and scope, its target users and stakeholders, its proposed features, its object-oriented and database design, and the timeline the team will follow to deliver it.

Rith Tola 2 214
personal
លំហាត់មេរៀនទី ៧៖ SOLID Principles and Refactoring

មេរៀនទី ៧ ផ្ដោតលើ SOLID Principles និង Refactoring ដើម្បីឱ្យនិស្សិតយល់ពីការរចនា Software ឱ្យមាន Responsibility ច្បាស់, Coupling ទាប, Cohesion ខ្ពស់ និងងាយពង្រីក។ និស្សិតសិក្សា SRP សម្រាប់បំបែក Responsibility, OCP សម្រាប់ពង្រីក Behavior ដោយមិនកែ Stable Core Logic, LSP សម្រាប់ធានាថា Subtype អាចជំនួស Base Type បានដោយសុវត្ថិភាព, ISP សម្រាប់បំបែក Interface ធំៗទៅជា Contracts តូចៗ និង DIP សម្រាប់ឱ្យ High-Level Logic ពឹងលើ Abstraction ជំនួស Concrete Implementation។ ក្នុងការអនុវត្ត និស្សិតធ្វើ Refactoring ពី Class ធំដែលមានតួនាទីច្រើន ទៅជា Components ដូចជា UserValidator, PasswordHasher, UserRepository, Notifier, Auditor និង UserService ហើយប្រើ Protocol, Dependency Injection និង Fake Dependencies សម្រាប់ Testing។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចកំណត់ Code Smells, កែលម្អ Code Structure និងបង្កើតប្រព័ន្ធដែលងាយអាន ងាយសាកល្បង ងាយថែទាំ និងងាយពង្រីក។

SEK Socheat 0 41
personal
មេរៀនទី១៖ សេចក្ដីផ្ដើមអំពីការស្រាវជ្រាវ ការអភិវឌ្ឍកម្មវិធី និង R&D

នៅក្នុងការសិក្សាកម្រិតឧត្តមសិក្សា និស្សិតមិនគួររៀនត្រឹមតែទ្រឹស្តី ឬចេះប្រើបច្ចេកវិទ្យាដែលមានស្រាប់ប៉ុណ្ណោះទេ។ និស្សិតគួរត្រូវបានបណ្តុះបណ្តាលឱ្យមានសមត្ថភាព សង្កេតបញ្ហា កំណត់សំណួរ ស្វែងរកភស្តុតាង បង្កើតដំណោះស្រាយ និងវាយតម្លៃលទ្ធផល។ ដំណើរការនេះអាចកើតឡើងតាមរយៈការស្រាវជ្រាវ (Research) ការអភិវឌ្ឍកម្មវិធី (Software Development) ឬការរួមបញ្ចូលទាំងពីរជា Research and Development (R&D)។ មេរៀនទី ១ នេះ ណែនាំនិស្សិតឱ្យយល់ច្បាស់ពីភាពខុសគ្នា និងទំនាក់ទំនងរវាងវិធីសាស្ត្រទាំងបី ព្រមទាំងជួយឱ្យនិស្សិតចាប់ផ្តើមគិតអំពីបញ្ហាជាក់ស្តែងដែលអាចយកមកធ្វើជា Research Project, Software Project ឬ Integrated R&D Project។ ក្នុងវគ្គសិក្សានេះ និស្សិតនឹងបន្តពីការកំណត់ប្រធានបទ រហូតដល់ Research/R&D Proposal, Proposal Defense, Implementation, Evaluation, Final Report និង Final Defense។

Cambodia Academic Space 0 136
personal
លំហាត់មេរៀនទី៥៖ Factory Method and Abstract Factory

លំហាត់មេរៀនទី ៥ ផ្ដោតលើ Factory Method និង Abstract Factory ដើម្បីឱ្យនិស្សិតយល់ពីការបំបែក Object Creation ចេញពី Client Code និង Business Logic។ និស្សិតរៀនពី Direct Object Creation Problem, Simple Factory, @classmethod ជា Alternative Constructor, Registry-Based Factory, Factory Method និង Abstract Factory សម្រាប់បង្កើត Concrete Objects ឬ Product Families តាម Runtime Requirement និង Configuration។ ក្នុងការអនុវត្ត និស្សិតបង្កើត NotifierFactory, UserFactory, Report Creators និង Light/Dark UI Factories ហើយភ្ជាប់ Factory ជាមួយ Protocol, Open/Closed Principle និង Dependency Injection ដើម្បីកាត់បន្ថយ Coupling និងធ្វើឱ្យប្រព័ន្ធងាយសាកល្បង និងងាយពង្រីក។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតយល់ថា Factory Pattern មានប្រយោជន៍នៅពេល Object Creation មាន Concrete Implementations ច្រើន ឬត្រូវជ្រើសរើសតាម Runtime ដោយរក្សា Architecture ឱ្យមានភាពបត់បែន និងមានរចនាសម្ព័ន្ធច្បាស់។

SEK Socheat 0 52