EducateLanka is an online Learning Management System (LMS) developed for the COMP50022-K - Commercial Computing module. The platform supports the Sri Lankan school education system by improving access to learning resources, enabling structured feedback, and encouraging continuous student progress. It mitigates disruption during adverse weather and power cuts by providing reliable access to materials, and it helps reduce the digital divide across schools with a unified learning and communication hub. The assignment also demonstrates agile project management practices, including project initiation, planning, risk management, and closure activities with lessons learned.
EducateLanka provides the following features:
-
Curriculum Structure
- Standards, subjects, and lessons organised with slugs and ordering
- Subject-level listings with hierarchical navigation
-
Lesson Content Management
- Lesson creation, updates, and deletion
- File-based lesson resources (video, presentations, and notes)
-
Interactive Learning
- Lesson comments and threaded replies
- Timestamped discussion flow
-
User Accounts and Profiles
- Registration and authentication
- Profile metadata with user type (teacher, student, parent)
-
Media Handling
- Profile images and subject imagery
- Structured media storage per entity
-
UI and Support
- Bootstrap-based responsive templates
- Embedded Tawk.to live chat widget
- Django 4.2.3: Web framework (from
requirements.txt) - asgiref 3.7.2: ASGI utilities (from
requirements.txt) - django-crispy-forms 2.0: Form rendering utilities (from
requirements.txt) - crispy-bootstrap4 2022.1: Bootstrap 4 template pack (from
requirements.txt) - Pillow 10.0.0: Image processing (from
requirements.txt) - sqlparse 0.4.4: SQL parsing support (from
requirements.txt) - tzdata 2023.3: Time zone data (from
requirements.txt) - SQLite 3.45.3: Database engine (Python sqlite3 runtime)
- Bootstrap 4.5.2: UI framework (from template CDN)
- HTML5: Mark-up standard
- CSS3: Styling standard
- Tawk.to API: Embedded live chat widget
- ClickUp: Project management tool for agile workflow tracking
- Course: COMP50022-K - Commercial Computing
- Domain: LMS for Sri Lankan school education
- Architecture: Django MVT (Model-View-Template) with template-driven UI
- Database: SQLite3 (
db.sqlite3) - Project Management: Agile methods with initiation, planning, risk, time, cost, and procurement management
To run EducateLanka locally, follow these steps:
-
Clone the repository:
git clone https://github.com/supunxiii/educatelanka.git
-
Navigate to the project directory:
cd educatelanka -
Create and activate a virtual environment:
python -m venv env source env/bin/activate -
Install Python dependencies:
pip install -r requirements.txt
-
Apply database migrations:
python educatelanka/manage.py migrate
-
Start the development server:
python educatelanka/manage.py runserver
-
Open the application in your browser:
http://127.0.0.1:8000/
educatelanka-main/
├── educatelanka/ # Django project root
│ ├── app_users/ # User profiles, registration, and login
│ ├── curriculum/ # Standards, subjects, lessons, and comments
│ ├── educatelanka/ # Project settings and URL configuration
│ ├── media/ # Uploaded files
│ ├── static/ # Static assets
│ ├── templates/ # HTML templates
│ ├── db.sqlite3 # SQLite database
│ └── manage.py # Django entry point
├── requirements.txt # Python dependencies
└── LICENSE # Project licence
This project was collaboratively developed by:
- Supun Wijesooriya - Lead Developer
- Mandinee Hewage - Developer
- Ruchintha Thennakoon - Developer
Contributions are welcome. If you would like to contribute:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m "Add your commit message" -
Push your branch:
git push origin feature/your-feature-name
-
Open a pull request with a clear description of your changes.
This project is open-source and is licensed under the MIT License.
For any enquiries or feedback, please contact the developer:
- Supun Wijesooriya: GitHub Profile
- Project Repository: educatelanka
Designed and developed in October 2023





