This is an e-learning project provisioned as a REST API and a MVT-based platform.
- Teachers can create different contents which could be video, files, texts or images
- Drag and Drop feature to rearrange course contents
- Chat rooms for every course available for teachers and students
- Teachers can embed video links from YouTube, Vimeo etc.
- Cache Backend: Memcached to cache frequently requested query results
- REST API
- Communication Store: Redis
- Chat Server: Asynchronous Server Gateway Interface (ASGI)
- WebSocket Handler: Channels
- WebSocket Client using JavaScript to open and maintain client-side connection
- JQuery to interact with DOM
- Package support to use Redis as channel layer: channels-redis
- Cache monitor: django-memcache-status
virtualenv env
source env/bin/activate
pip install -r requirements.txt
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
-
Download: Download Memcached from https://memcached.org/downloads
-
Installation: If you're using Linux, Install Memcached by executing the following command in your shell
./configure && make && make test && sudo make install
If you are using macOS, you can install Memcached with the Homebrew package by executing the following command
brew install memcached
If you're using Windows, visit https://memcached.org to learn how to install Memcached
-
Launch: Execute the following command after installation to run Memcached
memcached -l 127.0.0.1:11211
Now, Memcached should be listening at port 11211
-
Python Binding: The python binding for Memcache (python-memcached) will be installed when you ran 'pip install -r requirements.txt'
-
Installation: For Linux and macOS users, download Redis from https://redis.io/download. Unzip the tar.gz file, change directory to the redis directory and compile Redis with the 'make' commmand
For Windows users, enable Windows Subsystem for Linux (WSL), then download and install Redis in the Linux system. To learn more on how to do this, click here
-
Launch: Run the Redis server using the following command in your shell
src/redis-server
To use a different port from the default port used by Redis (6379). Specify the port number using the --port flag. Example: src/redis-server --port 6655
-
channels-redis will be installed when you run 'pip install -r requirements.txt'