DEV Community

Cover image for I built a Learning Management System with Django
Vijay Thapa
Vijay Thapa

Posted on

I built a Learning Management System with Django

I created this project back in 2020 during COVID lockdown but haven't published it online yet.

During that time I was creating courses on Website Design and Development with HTML, CSS, PHP & MySQL, Software Development with C# and databases like MS SQL Server and Oracle. And all of them were free on YouTube.

Also the only revenue source was YouTube Ads revenue which was not much (since very few people watch programming videos), and I also tried selling courses on Udemy but it was also not much ($3-$5 after taking their cut).

So I wanted to create my own platform like Udemy or Skillshare where I could publish my premium courses and sell.
Thus I started building it using Django framework in Python as it was the fastest and secure way to setup the project.

But unfortunately at the end of the project development, I found out that there was no international payment option like PayPal or Strip in our country, Nepal.
And without it there was no way to accept payment from international students, also I need to pay for the services like Domain and Hosting.

So I stopped working on it though it was on the final stage.
And it's already been 4 years.
Though I've not published it, I wanted to share it with you hoping it could be helpful to you.

👨🏻‍💻 Built With

This Learning Management System project is built with

Front-End: HTML, CSS, JavaScript and Bootstrap
Back-End: Django (Python)
Database: SQLite (Any other database can be added)

🤩 Features of the Project

A. Admin Can

  1. Create a Course and then add multiple lectures on a course
  2. Manage Users (Students)
  3. Manage Social App Login

B. Users/Visitors Can

  1. Secure Authentication (Sign up, Login, Reset, etc.)
  2. Login with Google and Github
  3. Enroll to the course
  4. See Enrolled Course or Search for new Course
  5. Update Profile
  6. Change Password

⚙️ How to Install and Run this Project?

Pre-Requisites:

  1. Install Git Version Control [ https://git-scm.com/ ]
  2. Install Python Latest Version [ https://www.python.org/downloads/ ]
  3. Install Pip (Package Manager) [https://pip.pypa.io/en/stable/installing/ ]
  4. Alternative to Pip is Homebrew

Installation

  1. Create a Folder Where you want to save this project.

  2. Create a Virtual Environment and Activate

Install Virtual Environment

$ pip install virtualenv

Create Virtual Environment

For Windows
$ python -m venv venv

For Mac
$ python3 -m venv venv

Activate Virtual Environment

For Windows
$ source venv/scripts/activate

For Mac
$ source venv/bin/activate

  1. Clone This Project (Using SSH) $ git clone git@github.com:vijaythapa333/django-courses.git

Then Enter The Project
$ cd django-courses

  1. Install Requirements from "requirements.txt"
    $ pip install -r requirements.txt

  2. Add the Hosts

Go To Settings.py file
Then, On allowed hosts, Add [‘’].
`ALLOWED_HOSTS = ['
']`

NO need to Change on Mac

  1. Run Server For Windows $ python manage.py runserver

For Mac
$ python3 manage.py runserver

  1. Login Credentials Create a Super User with following command $ python manage.py createsuperuser

Then Add Email, Username and Password

or Use Default Credentials

Username: admin Password: admin

Project Demo and Detail

Top comments (0)