លំហសិក្សាធិការកម្ពុជា លំហសិក្សាធិការកម្ពុជា 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
មេរៀនទី ៨៖ Authentication, Role-Based Access Control និង Audit Log ក្នុង PyQt6 + SQLite3

មេរៀនទី ៨ នេះ ផ្ដោតលើការបន្ថែមសុវត្ថិភាព និងការគ្រប់គ្រងសិទ្ធិចូលប្រើក្នុងកម្មវិធី Coffee Shop Management System ដោយប្រើ Authentication, Role-Based Access Control (RBAC) និង Audit Log។ បន្ទាប់ពីនិស្សិតបានរៀនពី Product CRUD, Search, Validation, Reports, Inventory និង Sales Transaction នៅមេរៀនមុនៗ ប្រព័ន្ធចាប់ផ្ដើមមានទិន្នន័យសំខាន់ៗ ដូចជា ផលិតផល ស្តុក ការលក់ និងរបាយការណ៍។ ដូច្នេះប្រព័ន្ធត្រូវការកំណត់ថា អ្នកប្រើណាអាចចូលប្រើ អ្នកណាអាចបន្ថែម កែ លុប ឬមើលរបាយការណ៍បាន។ មេរៀននេះនឹងណែនាំនិស្សិតឱ្យបង្កើត Login Form, Users Table, Roles Table, Permissions Table, ការផ្ទៀងផ្ទាត់ពាក្យសម្ងាត់, ការគ្រប់គ្រងសិទ្ធិតាមតួនាទី និងការកត់ត្រាសកម្មភាពអ្នកប្រើក្នុង Audit Log។

21 Aug 2026 13:59 UTC · បានកែប្រែ
សេក សុជាតិ 0 4
personal
មេរៀនទី ៧៖ Inventory, Sales និង Transaction Processing ក្នុង PyQt6 + SQLite3

មេរៀនទី ៧ នេះ ផ្ដោតលើការពង្រីកកម្មវិធី Coffee Shop Management System ពីការគ្រប់គ្រងផលិតផល និងរបាយការណ៍មូលដ្ឋាន ទៅកាន់ការគ្រប់គ្រង ស្តុកចូល ស្តុកចេញ ការលក់ និងប្រតិបត្តិការទិន្នន័យ។ និស្សិតនឹងរៀនពីរបៀបរចនា Tables សម្រាប់ stock_movements, sales និង sale_items ដើម្បីកត់ត្រាចលនាស្តុក និងការលក់ឱ្យមានភាពត្រឹមត្រូវ។ មេរៀននេះជាជំហានសំខាន់សម្រាប់យល់ពីការភ្ជាប់រវាង Product, Inventory និង Sales។ នៅក្នុងកម្មវិធីពិត ប្រតិបត្តិការលក់មិនមែនគ្រាន់តែបញ្ចូលទិន្នន័យលក់មួយជួរប៉ុណ្ណោះទេ ប៉ុន្តែត្រូវកាត់ស្តុក បង្កើត Invoice, គណនា Subtotal, Discount, Tax, Total និងរក្សាទុក Sale Items ទាំងអស់ក្នុង Database។

21 Aug 2026 13:54 UTC · បានកែប្រែ
សេក សុជាតិ 0 2
personal
មេរៀនទី ៦៖ Search, Validation និង Reports ក្នុងកម្មវិធី PyQt6 + SQLite3

មេរៀនទី ៦ នេះ ផ្ដោតលើការកែលម្អកម្មវិធី Coffee Shop Product Management System ដែលបានចាប់ផ្ដើមភ្ជាប់ជាមួយ SQLite3 Database នៅមេរៀនទី៥។ ក្នុងមេរៀននេះ និស្សិតនឹងរៀនបន្ថែមអំពីការស្វែងរកទិន្នន័យឱ្យមានប្រសិទ្ធភាព ការពិនិត្យទិន្នន័យមុនរក្សាទុកឱ្យមានសុវត្ថិភាព និងការបង្កើតរបាយការណ៍សាមញ្ញសម្រាប់ជួយអ្នកគ្រប់គ្រងយល់ពីស្ថានភាពផលិតផល។ មេរៀននេះនឹងណែនាំការបង្កើត Advanced Search, Input Validation, Low Stock Report, Product Summary Report, CSV Export និងការរៀបចំលទ្ធផលក្នុង QTableWidget ឱ្យងាយអាន។ វាជាជំហានសំខាន់មុននឹងបន្តទៅមេរៀនទី៧ ដែលនឹងចាប់ផ្ដើមទៅកាន់ Inventory, Sales និង Transaction Processing។

21 Aug 2026 13:44 UTC · បានកែប្រែ
សេក សុជាតិ 0 2
personal
មេរៀនទី ៥៖ ការរចនាមូលដ្ឋានទិន្នន័យ SQLite3 និងការភ្ជាប់ CRUD ជាមួយ PyQt6

មេរៀនទី ៥ នេះ ផ្ដោតលើការប្រើ SQLite3 Database ជាមួយកម្មវិធី PyQt6 GUI ដើម្បីបង្កើតមូលដ្ឋានគ្រឹះសម្រាប់ប្រព័ន្ធគ្រប់គ្រងទិន្នន័យពិត។ បន្ទាប់ពីនិស្សិតបានរៀនពី Widgets, Layouts និង Event-Driven Programming នៅមេរៀនមុនៗ មេរៀននេះនឹងបន្តទៅការរក្សាទុកទិន្នន័យទៅក្នុង Database តាមរយៈប្រតិបត្តិការ CRUD ដែលមាន Create, Read, Update និង Delete។ ជាឧទាហរណ៍អនុវត្ត និស្សិតនឹងបង្កើតប្រព័ន្ធ Coffee Shop Product Management ដែលអាចបន្ថែមផលិតផល រក្សាទុកទៅ SQLite3 បង្ហាញទិន្នន័យក្នុង Table កែប្រែទិន្នន័យ លុបទិន្នន័យ និងស្វែងរកផលិតផលបាន។ មេរៀននេះជាជំហានសំខាន់សម្រាប់បន្តទៅមេរៀនទី៦ ដែលនឹងផ្ដោតលើ Search, Validation និង Reports កាន់តែលម្អិត។

21 Aug 2026 13:32 UTC · បានកែប្រែ
សេក សុជាតិ 0 13
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
1 2 3 4 5 6 7 8 9 10 11 12