SiCourse Mini LMS

SiCourse is a compact Learning Management System built with Flask and MySQL. Administrators can create and delete text-based courses with thumbnails, while students can browse courses, are auto-enrolled on first access, read line-structured content, and submit assignment files. The system includes basic email/password authentication, profile management, submission tracking, and timezone formatting (Asia/Jakarta). It leverages SQLAlchemy ORM, Flask-Migrate for schema evolution, and clean separation of admin and student routes.

Technologies Used

FlaskLMSEducationMySQLFile Upload

Key Features

  • Session-based authentication (admin & student)
  • Course creation, listing, deletion
  • Auto-enrollment on course access
  • Multiline course content parsing
  • Assignment file upload & tracking
  • Admin submission dashboard
  • User profile update
  • Timestamp localization (Asia/Jakarta)
  • Database migrations (Alembic / Flask-Migrate)

Technical Stack

Python
Flask
SQLAlchemy
Flask-Migrate
MySQL (PyMySQL)
Jinja2
Werkzeug (secure_filename)
python-dotenv
pytz