A learning management and online assessment system for academic education.
- Admin adds courses, teachers, and students and assigns them courses.
- The teacher creates course content, announcements, assignments, quizzes, takes attendance, etc. A teacher can see the details and analysis of the assessments.
- Students can enroll in the courses using the access key, see the course content of the enrolled courses, participate in assessments and see their results in detail.
- Discussion section for both teacher and student.
- Django 4.0.4
- Bootstrap 5.0.2
- jQuery 3.6.0
- Chart.js v3.9.1
- Animate.css 4.1.1
- Clone the project
git clone https://github.com/nz-m/eLMS-SWE.git
- Go to the project directory
cd eLMS-SWE
- Create a virtual environment and activate it (Windows)
python -m venv env
env\Scripts\activate
- Install dependencies
pip install -r requirements.txt
Note: If you're using newer versions of python(3.10+), you may need to add the
--use-deprecated=legacy-resolver
option when installing dependencies withpip
to avoid errors :
pip install -r requirements.txt --use-deprecated=legacy-resolver
- Make migrations and migrate
python manage.py makemigrations
python manage.py migrate
- Create admin/superuser
python manage.py createsuperuser
- Finally run the project
python manage.py runserver
Now the project should be running on http://127.0.0.1:8000/
Login as admin and add some courses, teacher and students.
Demo : https://youtu.be/NyL2ajUNxYk
This is for Linux VM domain server hosts.
-
Install GIT and clone this repository
-
CD to the repository folder
-
Install dependencies
pip install -r requirements.txt
Note: If you're using newer versions of python(3.10+), you may need to add the
--use-deprecated=legacy-resolver
option when installing dependencies withpip
to avoid errors :
pip install -r requirements.txt --use-deprecated=legacy-resolver
- Make migrations and migrate
python manage.py makemigrations
python manage.py migrate
- Open eLMS/settings.py and find this settings
## (replace the string below with your own site URL):
ALLOWED_HOSTS = ['web-production-3640.up.railway.app', '127.0.0.1']
- If using PostgreSQL database, also add this settings in DATABASES
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'OPTIONS': {
'service': 'my_service',
'passfile': '.my_pgpass',
},
}
}
- Then go to the PostgreSQL folder in %APPDATA%\postgresql.pg_service.conf which contains the hostname, port, and user
[my_service]
host=localhost
user=USER
dbname=NAME
port=5432
- and .my_pgpass for passwords
localhost:5432:NAME:USER:PASSWORD
- Finally, deploy Django using Gunicorn
gunicorn eLMS.wsgi:application --bind 0.0.0.0:8000
For detailed reading on Django deployment, here is some checklists from the Documentation https://docs.djangoproject.com/en/4.1/howto/deployment/checklist/