លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា 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.

17 Aug 2026 02:40 UTC · បានកែប្រែ
O អ៊ុក ច័ន្ទមានរិទ្ធ 3 287
personal
មេរៀនទី ៤៖ Event-Driven Programming និងការគ្រប់គ្រងសកម្មភាពអ្នកប្រើក្នុង PyQt6

មេរៀនទី ៤ នេះ ផ្ដោតលើគោលការណ៍ Event-Driven Programming ក្នុងការអភិវឌ្ឍកម្មវិធី GUI ដោយប្រើ PyQt6។ បន្ទាប់ពីនិស្សិតបានរៀនអំពី Widgets និង Layouts នៅមេរៀនមុនៗ មេរៀននេះនឹងបន្តទៅការគ្រប់គ្រងសកម្មភាពរបស់អ្នកប្រើ ដូចជា ការចុច Button, ការបញ្ចូលអត្ថបទ, ការជ្រើស Row ក្នុង Table, ការបញ្ជាក់មុនលុប និងការបង្ហាញសារជូនដំណឹង។ និស្សិតនឹងយល់ពីទំនាក់ទំនងរវាង Signal, Slot, Event, Method, និង Application State។ ជាលំហាត់អនុវត្ត និស្សិតនឹងបង្កើតកម្មវិធី Coffee Shop Product Event Demo ដែលអាចបន្ថែម កែប្រែ លុប ស្វែងរក បង្ហាញ Low Stock និងបង្ហាញ Dialog Message បានត្រឹមត្រូវ។

21 Aug 2026 13:25 UTC · បានកែប្រែ
សេក សុជាតិ 0 4
personal
មេរៀនទី ៣៖ ការប្រើ Layouts និង Widgets ដើម្បីបង្កើត Mini Project Interface

មេរៀនទី ៣ នេះ ផ្ដោតលើការរៀបចំរចនាសម្ព័ន្ធផ្ទាំងកម្មវិធី GUI ឱ្យមានសណ្តាប់ធ្នាប់ និងងាយប្រើ ដោយប្រើ PyQt6 Layouts សំខាន់ៗដូចជា QVBoxLayout, QHBoxLayout, QGridLayout, QFormLayout និង QGroupBox។ បន្ទាប់ពីនិស្សិតបានសិក្សាពី Widgets និង Signals/Slots នៅមេរៀនទី២ មេរៀននេះនឹងបន្តទៅការរៀបចំ Widgets ទាំងនោះឱ្យក្លាយជាផ្ទាំងកម្មវិធីមានរចនាសម្ព័ន្ធច្បាស់លាស់។ ជាឧទាហរណ៍អនុវត្ត និស្សិតនឹងបង្កើត Coffee Shop Product Management Mini Project ដែលមាន Search Area, Product Form, Action Buttons និង Product Table។ មេរៀននេះជាជំហានសំខាន់មុនចូលទៅកាន់មេរៀនទី៤ ដែលនឹងផ្ដោតលើ Event-Driven Programming និងការគ្រប់គ្រងសកម្មភាពអ្នកប្រើក្នុងកម្មវិធី។

21 Aug 2026 13:19 UTC · បានកែប្រែ
សេក សុជាតិ 0 3
personal
មេរៀនទី ២៖ ការប្រើ PyQt6 Widgets, Signals និង Slots

មេរៀនទី ២ នេះ ផ្ដោតលើការប្រើ PyQt6 Widgets សំខាន់ៗសម្រាប់បង្កើត Form និងផ្ទាំងកម្មវិធី GUI ដែលអាចទទួល បង្ហាញ និងគ្រប់គ្រងទិន្នន័យបាន។ និស្សិតនឹងសិក្សាអំពី QLineEdit, QTextEdit, QComboBox, QSpinBox, QCheckBox, QPushButton, QTableWidget និងការភ្ជាប់ព្រឹត្តិការណ៍តាមរយៈ Signals and Slots។ មេរៀននេះបន្តពីមេរៀនទី១ ដែលបានបង្កើតកម្មវិធី PyQt6 ដំបូង ហើយពង្រីកទៅការបង្កើត Form សម្រាប់បញ្ចូលព័ត៌មាននិស្សិត បន្ថែមទិន្នន័យចូលតារាង សម្អាត Form និងលុបជួរដេកដែលបានជ្រើស។ ជាមូលដ្ឋាន វាជាជំហានសំខាន់មុននឹងនិស្សិតបន្តទៅមេរៀនទី៣ ដែលនឹងរៀនពី Layouts និង Mini Project Interface ឱ្យមានរចនាសម្ព័ន្ធល្អប្រសើរជាងមុន។

21 Aug 2026 13:07 UTC · បានកែប្រែ
សេក សុជាតិ 0 4
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 និងអាចពង្រីកបាននៅពេលប្រព័ន្ធកាន់តែធំ។

20 Aug 2026 11:14 UTC · បានកែប្រែ
សេក សុជាតិ 0 14
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 របស់ខ្លួនបានយ៉ាងច្បាស់។

19 Aug 2026 16:38 UTC · បានកែប្រែ
សេក សុជាតិ 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 បាន។

19 Aug 2026 16:24 UTC · បានកែប្រែ
សេក សុជាតិ 0 37
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 នៅមេរៀនបន្ទាប់។

19 Aug 2026 15:43 UTC · បានកែប្រែ
សេក សុជាតិ 0 16
personal
មេរៀនទី ៩៖ Observer Pattern and Event-Driven OOP

មេរៀនទី ៩ ផ្ដោតលើ Observer Pattern និង Event-Driven OOP ដើម្បីឱ្យនិស្សិតយល់ពីរបៀបធ្វើឱ្យ Objects ជាច្រើនអាចឆ្លើយតបទៅនឹង Event មួយដោយមិនចងគ្នាខ្លាំងពេក។ និស្សិតសិក្សាតួនាទីរបស់ Subject/Publisher, Observer/Subscriber, subscribe(), unsubscribe(), notify() និង publish() ព្រមទាំងការបង្កើត Domain Events ដោយប្រើ dataclass និង Event Handler Contracts ដោយប្រើ Protocol។ ក្នុងការអនុវត្ត និស្សិតបង្កើត EventBus សម្រាប់ចែកចាយ Events ដូចជា TaskCreatedEvent, TaskAssignedEvent និង TaskCompletedEvent ទៅកាន់ Audit, Notification, Dashboard និង Activity Feed Handlers ដោយឯករាជ្យ។ សរុបមក មេរៀននេះជួយឱ្យនិស្សិតអាចរចនាប្រព័ន្ធដែលមាន Loose Coupling, ងាយពង្រីក, ងាយសាកល្បង និងត្រៀមសម្រាប់ Repository, Service Layer និង Event-Driven Architecture នៅមេរៀនបន្ទាប់។

19 Aug 2026 15:23 UTC · បានកែប្រែ
សេក សុជាតិ 0 15
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 ច្រើន។

19 Aug 2026 15:06 UTC · បានកែប្រែ
សេក សុជាតិ 0 18
1 2 3 4 5 6 7 8 9 10 11 12 13