bieli / FreeItLessons

It's mini e-Learning platform with CMS and home working options for sharing education/tasks with students
GNU General Public License v3.0
6 stars 2 forks source link
challenge cms coding-challenges django e-learning elearning-application learning platform python3 students tasks training-module

CI status

FreeItLessons - mini e-Learning platform for IT & basic programming in Python

The mini e-Learning platform, equipped with a content management system (CMS) and remote working features, serves as an innovative solution for connecting educators with their students. Developed in response to increasing demand from students during volunteer meetings focused on programming education in schools, this project provides a dynamic and flexible environment for learning.

The platform acts as an online interface, bridging the gap between monthly in-person meetings, making education accessible beyond the confines of the traditional classroom setting. The emphasis on home working options ensures that students can engage with educational content at their own pace and convenience.

One of the project's key strengths lies in its commitment to fostering great educational values. By integrating a mini eLearning system, educators can effectively teach programming using the Python programming language through practical examples. The coding module not only includes unit tests for assessment but also provides valuable suggestions, transforming it into a comprehensive learning platform that encourages active participation and continuous improvement. With its supportive tips and interactive features, this project goes beyond a mere "code and forget" approach, enhancing the overall learning experience for students.

Features

Screen shots with ready features







How to run

Development fast track

make install-dev
make install
make chpwd # optional: change "admin" user password for login as default "admin" - example user
make run

make ci

Requirements to deployment

  1. Linux or other operationg system
  2. Docker or Vagrant (with Docker)

Developing project using Docker

docker build -t free-it-lessons:1.0 -f ./Dockerfile .
docker run -p 8000:8000 -it free-it-lessons:1.0 python3 manage.py runserver 0.0.0.0:8000

Run web browser and open http://127.0.0.1:8000

How to start developing using Vagrant with Docker

  1. vagrant up
  2. vagrant ssh
  3. vagrant > $ cd FreeItLessons
  4. vagrant > $ git checkout -tb new-futer-branch origin/master
  5. vagrant > $ docker build -t free-it-lessons:1.0 -f ./Dockerfile .
  6. vagrant > $ docker run -p 8000:8000 -it free-it-lessons:1.0 python3 manage.py runserver 0.0.0.0:8000
  7. vagrant > $ git add change-or-add-file && git commit -m "commit comment" && git push origin HEAD:new-futer-branch

Alternative method to run Docker container from your host machine for Vagrant

ssh -o 'RequestTTY force' vagrant@127.0.0.1 -p 2222 'docker run -p 8000:8000 -it free-it-lessons:1.1 python3 manage.py runserver 0.0.0.0:8000'

...or in ~/.ssh/config:

Host vagrant
    HostName 127.0.0.1
    Port 2222
    User vagrant
    RequestTTY force
...used as:

ssh vagrant 'docker run -ti ubuntu:xenial echo hi'

TODO: