Skip to content

natcobbinah/E-Learning-platform_Django

Repository files navigation

E-Learning Platform

An e-learning platform with its own content management system (CMS).

Features

• Create models for the CMS
• Create fixtures for your models and apply them
• Use model inheritance to create data models for polymorphic content
• Create custom model fields
• Order course contents and modules
• Build authentication views for the CMS

• Create a content management system using class-based views and mixins
• Build formsets and model formsets to edit course modules and module contents
• Manage groups and permissions
• Implement a drag-and-drop functionality to reorder modules and content

• Create public views for displaying course information
• Build a student registration system•Manage student enrollment onto courses
• Render diverse content for course modules
• Install and configure Memcached
• Cache content using the Django cache framework
• Use the Memcached and Redis cache backends
• Monitor your Redis server in the Django administration site

• Install Django REST framework
• Create serializers for your models
• Build a RESTful API
• Create nested serializers
• Build custom API views
• Handle API authentication
• Add permissions to API views
• Create a custom permission
• Implement ViewSets and routers
• Use the Requests library to consume the API 

• Serve your Django project through Asynchronous Server Gateway Interface (ASGI)
• Add Channels to your project
• Build a WebSocket consumer and appropriate routing
• Implement a WebSocket client
• Enable a channel layer with Redis
• Make your consumer fully asynchronous

• Configuring Django settings for multiple environments...in progress
• Using Docker Compose to run multiple services...in progress
• Setting up a web server with uWSGI and Django...in progress
• Serving PostgreSQL and Redis with Docker Compose...in progress
• Using the Django system check framework...in progress
• Serving NGINX with Docker...in progress
• Serving static assets through NGINX...in progress
• Securing connections through TLS/SSL...in progress
• Using the Daphne ASGI server for Django Channels...in progress
• Creating a custom Django middleware...in progress
• Implementing custom Django management commands...in progress

Sample screenshot of working application#

HomePage public view for course information

sample course overview page public view for course information two

My course page my course page

Create new course page create new course page

Edit course page edit course page

Edit modules page edit modules page

Manage modules page manage modules page

Manage modules with draggable feature enabled draggable module using html5sortable library

Manage module contents with draggable featured enabled draggable module contents

Enrolled course page of a student enrolled course1

enrolled course 2

REST API VIEWS Subject list view subject apiviews

Subject detail view subject detail view

CHAT SERVER Inbuilt Chat-server to enable communication between students enrolled on the same course using Channels channel layer and Redis context added to messages

DOCKER CONTAINERIZATION running containers new

homepage accessed from container

NGINX TLS/SSL NGINX using SSL_TLS

WEBSOCKET SECURED (wss://) test with daphne websocket secured demo using daphne behind nginx

CUSTOM SUBDOMAIN CONFIGURATION IN SYSTEM config test subdomain

About

A e-learning platform with its own content management system (CMS) - Antonio Mele

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •