A professional skincare training platform with integrated Learning Management System (LMS) capabilities, neural network training pipeline (nn → llm → lms), and Shopify e-commerce integration. Built for RegimA's worldwide distribution network to deliver comprehensive skincare education and certification with AI-powered content generation.
- Neural Network Training: Configure and run model training sessions with real-time metrics
- LLM Content Generation: AI-powered lesson creation, quiz generation, and personalized feedback
- AI Tutoring: Interactive AI tutor for personalized learning support
- Adaptive Learning: AI-recommended learning paths based on user performance
- Learning Analytics: Advanced analytics and predictions for learner outcomes
- Module-based Learning: Structured courses covering skincare fundamentals, product knowledge, and professional techniques
- Interactive Quizzes: Knowledge assessments with immediate feedback
- Progress Tracking: Monitor learner progress across modules and lessons
- Certificate Generation: Automated certification upon course completion
- Resource Library: Downloadable materials, videos, and reference guides
- xAPI (Experience API): Track learning activities to a Learning Record Store (LRS)
- SCORM 1.2 & 2004: Export courses as SCORM packages for external LMS import
- LTI 1.3: Embed training content in external LMS platforms (Canvas, Moodle, Blackboard)
- Course Sales: Sell training modules through Shopify stores
- Auto-Enrollment: Automatic course access upon purchase
- Access Control: Time-limited or lifetime access options
- Webhook Processing: Real-time order and customer synchronization
┌─────────────────────────────────────────────────────────────────┐
│ RegimA Training System │
├─────────────────────────────────────────────────────────────────┤
│ Frontend (React + TypeScript) │
│ ├── Training Interface │
│ ├── Quiz System │
│ ├── Progress Dashboard │
│ └── Admin Panel │
├─────────────────────────────────────────────────────────────────┤
│ Backend (Express.js + TypeScript) │
│ ├── REST API │
│ ├── Authentication │
│ ├── Training System (nn → llm → lms) │
│ │ ├── Training Service (Neural Networks) │
│ │ ├── LLM Service (Content Generation) │
│ │ └── AI Tutor │
│ └── Integration Layer │
│ ├── xAPI Service │
│ ├── SCORM Service │
│ ├── LTI 1.3 Service │
│ └── Shopify Service │
├─────────────────────────────────────────────────────────────────┤
│ Database (SQLite/PostgreSQL via Drizzle ORM) │
└─────────────────────────────────────────────────────────────────┘
- Node.js 18+
- npm or pnpm
# Clone the repository
git clone https://github.com/skintwin-ai/regima-training-lms.git
cd regima-training-lms
# Install dependencies
npm install
# Copy environment configuration
cp .env.example .env
# Start development server
npm run devCopy .env.example to .env and configure:
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/regima_training
# Session
SESSION_SECRET=your-session-secret
# xAPI (optional)
XAPI_ENABLED=true
XAPI_ENDPOINT=https://your-lrs.com/xapi
XAPI_USERNAME=admin
XAPI_PASSWORD=password
# Shopify (optional)
SHOPIFY_SHOP_DOMAIN=your-store.myshopify.com
SHOPIFY_ACCESS_TOKEN=shpat_xxxxx| Method | Endpoint | Description |
|---|---|---|
| GET | /api/training/health |
System health check |
| POST | /api/training/configs |
Create training configuration |
| GET | /api/training/configs |
List training configurations |
| POST | /api/training/sessions/start |
Start training session |
| GET | /api/training/sessions/:id |
Get session status |
| GET | /api/training/models |
List trained models |
| POST | /api/training/llm/generate-lesson |
Generate lesson content |
| POST | /api/training/llm/generate-quiz |
Generate quiz questions |
| POST | /api/training/tutor/start |
Start AI tutor session |
| POST | /api/training/tutor/:id/message |
Send message to AI tutor |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/modules |
List all modules |
| GET | /api/modules/:id |
Get module details |
| GET | /api/lessons/:id |
Get lesson content |
| POST | /api/progress |
Update user progress |
| POST | /api/quiz/:id/submit |
Submit quiz answers |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/lms/xapi/statements |
Send xAPI statements |
| POST | /api/lms/scorm/export-module |
Export module as SCORM |
| GET | /api/lms/lti/jwks |
LTI JWKS endpoint |
| POST | /api/lms/lti/launch |
LTI launch handler |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/shopify/products |
Create course product |
| GET | /api/shopify/enrollments |
Get user enrollments |
| POST | /api/shopify/webhook |
Webhook handler |
| POST | /api/shopify/sync/modules |
Sync modules to Shopify |
- Training System Guide - Complete guide to the nn → llm → lms pipeline
- Integration Guide - Detailed LMS and Shopify integration documentation
- API Reference - Complete API documentation
- Deployment Guide - Production deployment instructions
regima-training-lms/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── pages/ # Page components
│ │ └── lib/ # Utilities
├── server/ # Express backend
│ ├── routes/ # API routes
│ ├── services/ # Business logic
│ │ ├── xapi-service.ts
│ │ ├── scorm-service.ts
│ │ ├── lti-service.ts
│ │ └── shopify-service.ts
│ ├── integrations/ # Integration manager
│ └── storage.ts # Database operations
├── shared/ # Shared types
│ ├── schema.ts # Database schema
│ └── lms-types.ts # LMS integration types
├── docs/ # Documentation
└── wiki/ # Training content wiki
import { useLMS } from './hooks/use-lms';
function LessonPage({ lesson }) {
const { trackLessonLaunched, trackLessonCompleted } = useLMS();
useEffect(() => {
trackLessonLaunched(lesson.id, lesson.title, lesson.moduleId);
}, []);
const handleComplete = () => {
trackLessonCompleted(lesson.id, lesson.title, lesson.moduleId);
};
}import { useShopify } from './hooks/use-shopify';
function ModulePage({ moduleId }) {
const { checkModuleAccess } = useShopify();
const [hasAccess, setHasAccess] = useState(false);
useEffect(() => {
checkModuleAccess(moduleId).then(setHasAccess);
}, [moduleId]);
if (!hasAccess) {
return <PurchasePrompt moduleId={moduleId} />;
}
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - see LICENSE for details.
RegimA is a professional skincare brand committed to education and excellence in skin treatment. This training system supports RegimA's worldwide distribution network in delivering consistent, high-quality skincare education.
RegimA Zone UK owns and operates the e-commerce platforms supporting RegimA's global distribution.
Built with ❤️ for the SkinTwin Cognitive Alchemist Workbench