លំហសិក្សាកម្ពុជា លំហសិក្សាកម្ពុជា V1.0
ចូល ចុះឈ្មោះ
personal
Smart E-Commerce System with AI Recommendation Engine and Customer Behavior Analytics

E-commerce platforms usually contain a large number of products, which can make it difficult for customers to quickly find items that match their interests. This project presents a Smart E-Commerce System that combines a machine learning recommendation engine with customer behavior analytics and supports the main activities of customers, vendors, and administrators. The recommendation system uses a hybrid approach that combines collaborative filtering and content-based filtering. Collaborative filtering identifies similar product preferences based on user interactions using cosine similarity, while content-based filtering uses TF-IDF to find similarities between product information. When both methods are available, the system combines them using 75% collaborative filtering and 25% content-based filtering. Customer activities are also considered when generating recommendations. Different actions are given different weights based on their importance: viewing a product has a weight of 1.0, clicking 1.5, adding to a wishlist 2.0, adding to cart 3.0, and purchasing 5.0. Recent activities are given more importance through a time-decay method with a 45-day half-life. For new customers or users with fewer than five product interactions, the system recommends popular products as an alternative. The recommendation results are stored using Redis caching and can be accessed through the system API. The model is evaluated using temporal hold-out testing with metrics such as Precision@10, Recall@10, MAP@10, and catalog coverage. Overall, the project demonstrates how machine learning can be integrated into a practical e-commerce system to provide personalized product recommendations while supporting normal online shopping and management processes.

Ouk Chanmeanrith 3 378
personal
Machine Learning-Based Loan Risk Prediction for Credit Scoring

The rapid expansion of consumer lending, digital banking, and other technology-enabled financial services increases the need for timely and consistent credit-risk assessment. Traditional loan underwriting commonly relies on predefined rules and manual review of income, employment, collateral, guarantors, and credit-bureau information. Although such approaches remain important, they can be slow and may have limited ability to identify complex, non-linear relationships among borrower and loan characteristics. This study develops and evaluates a machine-learning-based loan risk prediction framework for binary classification of loans into lower-risk and higher-risk outcomes. The project uses an approximately one-million-record historical loan dataset obtained from Kaggle, with 57 attributes in the supplied schema. The methodology includes data cleaning, missing-value handling, categorical encoding, numerical scaling, outlier treatment, feature engineering, stratified train-test splitting, model training, hyperparameter tuning, and iterative refinement. Five supervised learning approaches were compared: Logistic Regression, Decision Tree, Random Forest, Gradient Boosting, and XGBoost. The reported test ROC-AUC scores were 0.7024, 0.5515, 0.7165, 0.7193, and 0.7266, respectively, making XGBoost the best untuned model. After hyperparameter tuning, XGBoost achieved a test ROC-AUC of 0.7273. The results indicate that XGBoost provides the strongest overall discrimination among the tested models, while threshold selection remains a critical business decision because it changes the balance between approving good customers and preventing default exposure. The proposed framework also includes model export using joblib and deployment through a REST API and web application. The study demonstrates the potential of machine learning as a decision-support tool for credit risk management, while emphasizing that local Cambodian loan data, cost-sensitive thresholding, monitoring, and explainability are required before production deployment.

Phirum TAN 1 426
personal
មេរៀនទី ១៣៖ Clean Architecture and Domain-Driven Design Foundations

មេរៀនទី ១៣ ផ្ដោតលើ Clean Architecture និង Domain-Driven Design (DDD) Foundations ដើម្បីឱ្យនិស្សិតយល់ពីការរចនាប្រព័ន្ធដែលដាក់ Business Domain ជាចំណុចកណ្ដាល និងរក្សា Core Business Logic ឱ្យឯករាជ្យពី Flask, Database និង Infrastructure។ និស្សិតរៀនបែងចែក Domain, Application, Infrastructure និង Presentation Layers តាម Dependency Rule ព្រមទាំងសិក្សា Entity, Value Object, Aggregate, Aggregate Root, Business Invariant, Domain Service, Application Service, Repository Contract, Domain Event, Ubiquitous Language និង Bounded Context។ ក្នុងការអនុវត្ត និស្សិតបង្កើត Domain Models ដែលមាន Behavior និង Validation ច្បាស់ បំបែក Use Cases ចេញពី Flask Routes ប្រើ Repository Abstraction និង Dependency Injection ដើម្បីកាត់បន្ថយ Coupling និងធ្វើឱ្យ Testing ងាយស្រួល។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចបង្កើត Software Architecture ដែលមាន Boundaries ច្បាស់ ងាយថែទាំ ងាយសាកល្បង ងាយផ្លាស់ប្ដូរ Framework និងអាចពង្រីកបាននៅពេលប្រព័ន្ធកាន់តែធំ។

SEK Socheat 0 17
personal
មេរៀនទី ១២៖ Integration, Deployment and Final Project Defense

មេរៀនទី ១២ ផ្ដោតលើ Integration, Deployment និង Final Project Defense ដោយឱ្យនិស្សិតរួមបញ្ចូលគោលគំនិត Advanced OOP និង Architecture ទាំងអស់ពីមេរៀនមុនៗ ដូចជា Domain Models, Repository, Service Layer, Dependency Injection, Design Patterns, Event-Driven OOP, Flask, RBAC និង Testing ទៅជា Application ពេញលេញដែលមាន Responsibility ច្បាស់ និងងាយថែទាំ។ និស្សិតរៀនត្រៀម Application សម្រាប់ Deployment តាមរយៈ Configuration, Environment Variables, Database Setup, Logging, Error Handling និង Security Review ព្រមទាំងរៀបចំ Unit Tests, Integration Tests និង Route Tests ដើម្បីផ្ទៀងផ្ទាត់ Business Rules និង Permission Boundaries។ លើសពីនេះ និស្សិតត្រូវរៀបចំ Documentation, Architecture Diagram, Demo Scenario និងការបកស្រាយ Design Decisions ដើម្បីត្រៀមសម្រាប់ Final Presentation និង Technical Defense។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតមិនត្រឹមតែអាចបង្កើត Project ដែលដំណើរការបានទេ ប៉ុន្តែអាចពន្យល់ និងការពាររចនាសម្ព័ន្ធ Architecture, Security, Testing និងការជ្រើសរើស Design Patterns របស់ខ្លួនបានយ៉ាងច្បាស់។

SEK Socheat 0 9
personal
មេរៀនទី ១១៖ Flask Application Factory, RBAC and Testing

មេរៀនទី ១១ ផ្ដោតលើការយក Advanced OOP Architecture ទៅអនុវត្តក្នុង Flask Application ដោយប្រើ Application Factory, Blueprints, RBAC និង Testing។ និស្សិតរៀនប្រើ create_app() ជា Composition Root សម្រាប់ Configure Database, Repositories, Services និង Blueprints ព្រមទាំងបែងចែក Authentication និង Authorization ឱ្យច្បាស់ ដោយអនុវត្ត RBAC តាម User, Role និង Permission និងប្រើ Decorators ដូចជា @login_required និង @permission_required(...) សម្រាប់ការពារ Routes។ លើសពីនេះ និស្សិតរៀនរក្សា Flask Routes ឱ្យ Thin, ដាក់ Business Logic នៅ Service Layer, Data Access នៅ Repository Layer និងប្រើ Dependency Injection ដើម្បីធ្វើឱ្យ Application ងាយសាកល្បង។ ក្នុងការអនុវត្ត និស្សិតប្រើ Flask Test Client, Memory/Fake Repositories និង Test Doubles ដើម្បីសាកល្បង Login, Permission, 401/403 Cases និង Business Rules។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចបង្កើត Flask Application ដែលមានរចនាសម្ព័ន្ធច្បាស់ សុវត្ថិភាព ងាយថែទាំ ងាយសាកល្បង និងអាចពង្រីកទៅ Final Project បាន។

SEK Socheat 0 44
personal
មេរៀនទី ១០៖ Repository, Service Layer and Dependency Injection

មេរៀនទី ១០ ផ្ដោតលើ Repository Pattern, Service Layer និង Dependency Injection ដើម្បីបំបែក Business Logic ចេញពី Data Access និង Infrastructure ឱ្យមានរចនាសម្ព័ន្ធច្បាស់លាស់។ និស្សិតរៀនប្រើ Repository Contract ជាមួយ Protocol, បង្កើត Memory Repository និង SQLite Repository, រៀបចំ Service Layer សម្រាប់គ្រប់គ្រង Use Cases និង Business Rules ព្រមទាំងប្រើ Constructor Dependency Injection ដើម្បីកាត់បន្ថយ Coupling និងធ្វើឱ្យ Testing ងាយស្រួល។ លើសពីនេះ និស្សិតសិក្សា Unit of Work សម្រាប់គ្រប់គ្រង Transaction, commit() និង rollback() និងរៀនឱ្យ Repository Return Domain Objects ជំនួស Raw Database Rows។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចរចនា Layered Architecture ដែលងាយថែទាំ ងាយសាកល្បង ងាយប្ដូរ Database Implementation និងត្រៀមសម្រាប់ Flask Application Factory និង RBAC Integration នៅមេរៀនបន្ទាប់។

SEK Socheat 0 16
personal
មេរៀនទី ៨៖ Strategy, Template Method and Command Patterns

មេរៀនទី ៨ ផ្ដោតលើ Strategy, Template Method និង Command Patterns ដើម្បីឱ្យនិស្សិតយល់ពីការរចនា Behavior និង Workflow ឱ្យមានភាពបត់បែន និងងាយពង្រីក។ Strategy Pattern អនុញ្ញាតឱ្យបំបែក Algorithm ឬ Behavior ដែលអាចជំនួសគ្នាបាន និងអាចប្ដូរនៅ Runtime, Template Method កំណត់ Workflow រួមនៅ Base Class ហើយឱ្យ Subclass កែតែជំហានជាក់លាក់, ចំណែក Command Pattern បម្លែង Action ឬ Request ទៅជា Object ដែលអាច execute(), រក្សាទុក History, Queue និង undo() បាន។ ក្នុងការអនុវត្ត និស្សិតប្រើ Discount/Payment Strategies, Report Export Workflow និង Task Commands ដើម្បីយល់ពី Composition, Inheritance, Loose Coupling និងការបែងចែក Responsibility ឱ្យច្បាស់។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចរចនា Business Behavior ដែលងាយសាកល្បង ងាយថែទាំ និងងាយបន្ថែមមុខងារថ្មីដោយមិនប៉ះពាល់ Core Logic ច្រើន។

SEK Socheat 0 32
personal
មេរៀនទី ៧៖ SOLID Principles and Refactoring

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

SEK Socheat 0 39