317 lines
9.3 KiB
Markdown
317 lines
9.3 KiB
Markdown
# Training Model Documentation
|
|
|
|
## Overview
|
|
Model Training adalah komponen inti dalam sistem manajemen pelatihan Happy Farmer yang berfungsi sebagai blueprint untuk program-program pelatihan yang dapat diikuti oleh petani. Model ini dirancang untuk mendukung upaya peningkatan kapasitas dan keterampilan petani dalam berbagai aspek pertanian modern.
|
|
|
|
## Business Context
|
|
Model Training berfungsi sebagai:
|
|
- **Knowledge Repository**: Penyimpan konten pelatihan dan materi pembelajaran
|
|
- **Curriculum Management**: Pengelolaan kurikulum pelatihan yang terstruktur
|
|
- **Capacity Building**: Alat untuk meningkatkan kemampuan petani
|
|
- **Quality Assurance**: Standarisasi program pelatihan
|
|
- **Performance Tracking**: Basis untuk tracking progress dan hasil pelatihan
|
|
|
|
## Model Structure
|
|
|
|
### Primary Fields
|
|
|
|
#### **Identification & Basic Info**
|
|
- **`id`** (String, Primary Key): Unique identifier menggunakan CUID
|
|
- **`title`** (String, Required): Judul pelatihan yang akan ditampilkan
|
|
- **`description`** (String, Optional): Deskripsi singkat tentang pelatihan
|
|
- **`content`** (String, Optional): Konten detail pelatihan (dapat berupa HTML, Markdown, atau text)
|
|
|
|
#### **Classification & Organization**
|
|
- **`category`** (String, Required): Kategori pelatihan
|
|
- Contoh: "Crop Management", "Pest Control", "Financial Management", "Technology", "Marketing"
|
|
- **`duration`** (Integer, Optional): Durasi pelatihan dalam menit
|
|
- **`level`** (String, Optional): Level kesulitan pelatihan
|
|
- **beginner**: Untuk petani pemula
|
|
- **intermediate**: Untuk petani dengan pengalaman menengah
|
|
- **advanced**: Untuk petani berpengalaman atau expert
|
|
|
|
#### **Prerequisites & Requirements**
|
|
- **`prerequisites`** (String, Optional): Syarat atau pelatihan yang harus diselesaikan sebelumnya
|
|
- **`maxParticipants`** (Integer, Optional): Jumlah maksimum peserta yang dapat mengikuti pelatihan
|
|
|
|
#### **Administrative Fields**
|
|
- **`createdBy`** (String, Optional): ID admin yang membuat pelatihan
|
|
- **`isActive`** (Boolean, Default: true): Status aktif pelatihan
|
|
- **`createdAt`** (DateTime, Default: now()): Tanggal pembuatan
|
|
- **`updatedAt`** (DateTime, Auto-update): Tanggal terakhir diupdate
|
|
|
|
## Training Categories
|
|
|
|
### Primary Categories
|
|
1. **Crop Management**
|
|
- Teknik penanaman
|
|
- Pemilihan varietas
|
|
- Pengelolaan lahan
|
|
- Rotasi tanaman
|
|
|
|
2. **Pest Control**
|
|
- Identifikasi hama dan penyakit
|
|
- Pengendalian hama terpadu
|
|
- Penggunaan pestisida yang aman
|
|
- Metode organik
|
|
|
|
3. **Financial Management**
|
|
- Pengelolaan keuangan usaha tani
|
|
- Akuntansi sederhana
|
|
- Analisis biaya produksi
|
|
- Perencanaan investasi
|
|
|
|
4. **Technology & Innovation**
|
|
- Penggunaan aplikasi pertanian
|
|
- Teknologi irigasi
|
|
- Mesin dan peralatan modern
|
|
- Sistem informasi pasar
|
|
|
|
5. **Marketing & Business**
|
|
- Strategi pemasaran
|
|
- Kualitas dan grading
|
|
- Negosiasi harga
|
|
- Kemitraan dengan buyer
|
|
|
|
6. **Sustainable Agriculture**
|
|
- Pertanian organik
|
|
- Konservasi tanah dan air
|
|
- Biodiversitas
|
|
- Perubahan iklim
|
|
|
|
## Relationships
|
|
|
|
### One-to-Many Relationships
|
|
- **FarmerTraining**: Satu training dapat diikuti oleh banyak petani
|
|
- Tracking enrollment, progress, dan completion
|
|
- Scoring dan evaluasi
|
|
- Assignment dan deadline management
|
|
|
|
## Business Rules
|
|
|
|
### Validation Rules
|
|
1. **Required Fields**:
|
|
- `title`: Wajib diisi dan harus deskriptif
|
|
- `category`: Wajib diisi untuk klasifikasi
|
|
|
|
2. **Optional but Important**:
|
|
- `description`: Sangat disarankan untuk memberikan overview
|
|
- `duration`: Penting untuk planning dan scheduling
|
|
- `level`: Membantu petani memilih pelatihan yang sesuai
|
|
|
|
3. **Business Logic**:
|
|
- Training hanya dapat diikuti jika `isActive = true`
|
|
- `maxParticipants` membatasi jumlah peserta jika diset
|
|
- `prerequisites` harus dicek sebelum enrollment
|
|
|
|
### Content Management Rules
|
|
- Content dapat berupa text, HTML, atau Markdown
|
|
- Mendukung multimedia (images, videos) melalui referensi URL
|
|
- Versioning untuk updates konten
|
|
- Approval workflow untuk konten baru
|
|
|
|
## Use Cases
|
|
|
|
### 1. Training Creation
|
|
**Actor**: Admin/Training Manager
|
|
**Flow**:
|
|
1. Admin membuat training baru
|
|
2. Mengisi title, description, dan category
|
|
3. Menentukan level dan prerequisites
|
|
4. Upload atau input content
|
|
5. Set duration dan max participants
|
|
6. Aktivasi training
|
|
|
|
### 2. Training Catalog Management
|
|
**Actor**: Admin
|
|
**Flow**:
|
|
1. View semua training yang tersedia
|
|
2. Filter berdasarkan category, level, atau status
|
|
3. Edit training content dan metadata
|
|
4. Activate/deactivate training
|
|
5. Monitor enrollment dan completion rates
|
|
|
|
### 3. Training Discovery
|
|
**Actor**: Petani/Admin
|
|
**Flow**:
|
|
1. Browse training catalog
|
|
2. Filter berdasarkan category atau level
|
|
3. View training details dan prerequisites
|
|
4. Check availability dan enrollment status
|
|
5. Enroll ke training yang dipilih
|
|
|
|
### 4. Training Analytics
|
|
**Actor**: Admin/Manager
|
|
**Flow**:
|
|
1. View training performance metrics
|
|
2. Analyze enrollment vs completion rates
|
|
3. Identify popular training categories
|
|
4. Track training effectiveness
|
|
5. Generate reports untuk decision making
|
|
|
|
## Integration Points
|
|
|
|
### Internal Systems
|
|
- **FarmerTraining**: Enrollment dan progress tracking
|
|
- **User Management**: Creator dan access control
|
|
- **Notification System**: Training announcements
|
|
- **Reporting System**: Analytics dan performance metrics
|
|
|
|
### External Systems
|
|
- **Learning Management System (LMS)**: Untuk delivery konten
|
|
- **Video Platforms**: Untuk multimedia content
|
|
- **Assessment Tools**: Untuk evaluasi dan testing
|
|
- **Certificate Management**: Untuk issuing certificates
|
|
|
|
## Data Management
|
|
|
|
### Content Storage
|
|
- **Text Content**: Stored dalam database
|
|
- **Media Files**: Stored di cloud storage (S3, GCS)
|
|
- **Documents**: PDF, presentations via cloud storage
|
|
- **Interactive Content**: Link ke external platforms
|
|
|
|
### Backup & Recovery
|
|
- Regular backup untuk training content
|
|
- Version control untuk content changes
|
|
- Disaster recovery plan
|
|
- Data archival strategy
|
|
|
|
## Performance Considerations
|
|
|
|
### Query Optimization
|
|
- Index pada `category` untuk filtering
|
|
- Index pada `isActive` untuk active training queries
|
|
- Index pada `createdAt` untuk sorting
|
|
- Full-text search pada `title` dan `description`
|
|
|
|
### Scalability
|
|
- Content caching untuk popular trainings
|
|
- CDN untuk media files
|
|
- Database partitioning berdasarkan category
|
|
- Load balancing untuk high traffic
|
|
|
|
## Quality Assurance
|
|
|
|
### Content Standards
|
|
- Structured content format
|
|
- Clear learning objectives
|
|
- Appropriate difficulty progression
|
|
- Cultural sensitivity
|
|
- Language consistency
|
|
|
|
### Review Process
|
|
- Content review sebelum publikasi
|
|
- Subject matter expert validation
|
|
- Regular content updates
|
|
- Feedback incorporation
|
|
|
|
## Analytics & Reporting
|
|
|
|
### Key Metrics
|
|
- **Enrollment Rate**: Jumlah pendaftar per training
|
|
- **Completion Rate**: Persentase yang menyelesaikan training
|
|
- **Popular Categories**: Kategori paling diminati
|
|
- **Duration Analysis**: Efektivitas durasi training
|
|
- **Success Rate**: Tingkat keberhasilan per level
|
|
|
|
### Reports
|
|
- Training catalog summary
|
|
- Enrollment trends
|
|
- Completion analytics
|
|
- Category performance
|
|
- Creator productivity
|
|
|
|
## Security & Access Control
|
|
|
|
### Data Protection
|
|
- Role-based access untuk training creation
|
|
- Content encryption untuk sensitive material
|
|
- Audit logs untuk content changes
|
|
- Backup security
|
|
|
|
### Privacy Considerations
|
|
- Training participation privacy
|
|
- Content intellectual property
|
|
- Data retention policies
|
|
- GDPR compliance
|
|
|
|
## Future Enhancements
|
|
|
|
### Planned Features
|
|
1. **Interactive Content**:
|
|
- Video-based training
|
|
- Interactive simulations
|
|
- Gamification elements
|
|
- Virtual reality experiences
|
|
|
|
2. **AI-Powered Features**:
|
|
- Personalized training recommendations
|
|
- Adaptive learning paths
|
|
- Automated content generation
|
|
- Intelligent assessment
|
|
|
|
3. **Mobile Learning**:
|
|
- Offline content access
|
|
- Mobile-optimized content
|
|
- Push notifications
|
|
- Progress synchronization
|
|
|
|
4. **Social Learning**:
|
|
- Discussion forums
|
|
- Peer-to-peer learning
|
|
- Expert mentorship
|
|
- Community challenges
|
|
|
|
### Integration Roadmap
|
|
- **Advanced LMS**: Full-featured learning management
|
|
- **Assessment Engine**: Comprehensive testing and evaluation
|
|
- **Certification System**: Digital badges dan certificates
|
|
- **Mobile App**: Native mobile learning experience
|
|
- **Analytics Dashboard**: Advanced reporting dan insights
|
|
|
|
## Sample Training Categories
|
|
|
|
### Technical Skills
|
|
- Modern farming techniques
|
|
- Irrigation system management
|
|
- Soil health management
|
|
- Crop rotation strategies
|
|
- Harvest timing optimization
|
|
|
|
### Business Skills
|
|
- Farm business planning
|
|
- Market analysis
|
|
- Financial planning
|
|
- Record keeping
|
|
- Customer relationship management
|
|
|
|
### Technology Adoption
|
|
- Mobile app usage
|
|
- Weather monitoring tools
|
|
- GPS and mapping
|
|
- E-commerce platforms
|
|
- Digital payment systems
|
|
|
|
### Sustainability
|
|
- Organic farming practices
|
|
- Water conservation
|
|
- Integrated pest management
|
|
- Carbon footprint reduction
|
|
- Biodiversity conservation
|
|
|
|
## Content Delivery Methods
|
|
|
|
### Formats Supported
|
|
- **Text-based**: Articles, guides, manuals
|
|
- **Video**: Instructional videos, demonstrations
|
|
- **Interactive**: Quizzes, simulations, games
|
|
- **Audio**: Podcasts, voice instructions
|
|
- **Documents**: PDFs, presentations, worksheets
|
|
|
|
### Delivery Channels
|
|
- **Web Platform**: Browser-based access
|
|
- **Mobile App**: Native mobile experience
|
|
- **Offline Mode**: Downloaded content
|
|
- **SMS/USSD**: For basic content delivery
|
|
- **WhatsApp**: Micro-learning modules |