A comprehensive web-based platform for managing educational content, tracking progress, and conducting assessments.
-
User Management
- Role-based access control (Admin, Supervisor, Employee)
- User registration and authentication
- Team management and organization
-
Content Management
- Upload and organize educational materials
- Support for various file types (PDF, DOC, DOCX, PPT, PPTX, TXT, MP4, ZIP)
- Category-based content organization
- Required content tracking
-
Progress Tracking
- Individual progress dashboard
- Team progress monitoring for supervisors
- Time spent tracking
- Recent activity timeline
- Progress reports and analytics
-
Quiz System
- Create and manage quizzes
- Multiple question types (Multiple Choice, True/False, Text)
- Automatic grading
- Quiz results and performance tracking
- Pass/Fail criteria management
-
Clone or download the repository
-
Set up a Python virtual environment (Optional but recommended):
python -m venv venv
-
Activate the virtual environment:
- Windows:
venv\Scripts\activate
- Linux/Mac:
source venv/bin/activate
- Windows:
-
Install required packages:
pip install -r requirements.txt
-
Run the application:
python run.py
ElearningFTP/
├── run.py # Main application file
├── requirements.txt # Python dependencies
├── README.md # This file
├── static/ # Static files (CSS, JS)
│ └── css/
│ └── style.css
├── templates/ # HTML templates
│ ├── admin/ # Admin-specific templates
│ ├── supervisor/ # Supervisor-specific templates
│ └── *.html # General templates
└── uploads/ # Uploaded content storage
-
Administrator
- Manage users and teams
- Manage categories
- Access all content and features
- View all progress reports
-
Supervisor
- Upload content
- Create quizzes
- Monitor team progress
- Manage assigned categories
-
Employee
- Access learning content
- Take quizzes
- Track personal progress
- View personal reports
- Flask==2.3.3
- Flask-SQLAlchemy==3.0.5
- Flask-Login==0.6.2
- Flask-WTF==1.1.1
- Werkzeug==2.3.7
- email-validator==2.0.0
- python-dotenv==1.0.0
- Copy the entire project folder (including
venv
) - Run
python run.py
- Copy the project folder (excluding
venv
) - Create a new virtual environment
- Install requirements
- Run the application
- Uses SQLite database (
ems.db
) - Created automatically on first run
- Stores user data, content metadata, progress, and quiz information
- Password hashing
- Role-based access control
- Secure file uploads
- Session management
- Input validation
For any issues or questions, please contact the system administrator.