Open-source Learning Management System for African education. Built with SA educators in mind. Features mobile money, SMS, offline-first curriculum. 🇿🇦
# SAM LMS - Smart African Learning Management System
> A modern, feature-rich Learning Management System designed for African educational institutions, built with TypeScript, React, and cutting-edge authentication.
## 🚀 Quick Start
### Prerequisites
- **Node.js** >= 18.0.0
- **npm** >= 9.0.0
- **PostgreSQL** >= 14.0
- **Git** for version control
### Factory/Droid CLI Integration
SAM LMS includes full Factory/droid CLI integration for automated development workflows:
```bash
# Install Factory CLI globally
npm install -g @factory/cli
# Initialize project with droid automation
factory init sam-lms
factory droid setup
# Start automated development workflow
factory droid start
```
### Installation
```bash
# Clone the repository
git clone
github.com
cd sam-lms
# Install dependencies (automated via droid)
npm run setup
# Configure environment
npm run env:setup
# Start development servers
npm run dev
```
## 📋 Available Scripts
### Development
```bash
npm run setup # Complete project setup with dependencies
npm run dev # Start all development servers
npm run dev:backend # Backend development server only
npm run dev:frontend # Frontend development server only
npm run dev:db # Database development tools
```
### Testing
```bash
npm test # Run all tests
npm run test:unit # Unit tests only
npm run test:e2e # End-to-end tests
npm run test:coverage # Test coverage report
npm run test:watch # Watch mode for development
```
### Code Quality
```bash
npm run lint # ESLint + Prettier
npm run lint:fix # Auto-fix linting issues
npm run type-check # TypeScript type checking
npm run format # Format code with Prettier
```
### Database
```bash
npm run db:migrate # Run database migrations
npm run db:seed # Seed database with sample data
npm run db:reset # Reset database (dev only)
npm run db:studio # Open database management studio
`` …