GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - PythonFreeCourse/lms: LMS allows teachers and educators to easily provide feedback on student programming work - both manually and automatically.

BranchesTags
Open more actions menu

Latest commit

 

History

394 Commits
394 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
devops
devops
 
 
lms
lms
 
 
tests
tests
 
 
.eslintrc.js
.eslintrc.js
 
 
.flake8
.flake8
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.stylelintrc.json
.stylelintrc.json
 
 
CODE_OF_CONDUCT.md
CODE_OF_CONDUCT.md
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
Dockerfile
Dockerfile
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
dev_requirements.txt
dev_requirements.txt
 
 
package.json
package.json
 
 
pytest.ini
pytest.ini
 
 
requirements.txt
requirements.txt
 
 

Repository files navigation

Python's Course LMS

LMS License is BSD-3 Clause

👋 Welcome to Python course learning management system. 🐍

The system objectives -

  1. Allow teachers and mentors to input exercises list and provide feedback/comments to students exercises solutions.
  2. Allow students to load their exercises solutions and get feedback to their work.

Creating development environment

Prerequisites

  1. Linux based system - either WSL on windows or full blown Linux.
  2. Latest Python version
  3. Docker

Minimal setup

This setup is for debug purposes and will use SQLite database and front-end only.

Steps to do:

  1. Clone this repository.
  2. Set environment variables.
  3. Run the application.
git clone https://github.com/PythonFreeCourse/lms
cd lms

export FLASK_DEBUG=1
export LOCAL_SETUP=true
export FLASK_APP=lms.lmsweb
export PYTHONPATH=`pwd`:$PYTHONPATH

cd devops
source dev_bootstrap.sh
# The initial credentials should appear in your terminal. :)

cd ..
flask run  # Run in root directory

After logging in, use localhost admin to modify entries in the database.

Full setup

This setup will create the following items:

  • Application - LMS code.
  • Middleware (messaging queue) - RabbitMQ.
  • Persistence database - PostgreSQL.

Steps to do:

  1. Clone this repository.
  2. Setup using docker & docker-compose.
  3. Run the application.
git clone https://github.com/PythonFreeCourse/lms
cd lms
cp lms/lmsweb/config.py.example lms/lmsweb/config.py
echo "SECRET_KEY = \"$(python -c 'import os;print(os.urandom(32).hex())')\"" >> lms/lmsweb/config.py

cd devops
. ./build.sh && . ./start.sh && . ./bootstrap.sh && . ./i18n.sh

In case you want to add the stub data to PostgreSQL DB, run:

docker exec -it lms_http_1 bash
python lmsdb/bootstrap.py

Enter [http://127.0.0.1:8080], and the initial credentials should appear in your terminal. :)

After logging in, use localhost admin to modify entries in the database.

In case you want to enable the mail system:

  1. Insert your mail details in the configuration file.
  2. Change the DISABLE_MAIL line value to False.

Code modification check list

Run Flake8

# on LMS root directory
flake8 lms

Updating localization files

. devops/i18n.sh update

Then go to lms/lmsweb/translations to translate the strings, if needed.

Run tests

export PYTHONPATH=`pwd`
pip install -r requirements.txt
pip install -r dev_requirements.txt
py.test -vvv

Contributing

View contributing guidelines.

About

LMS allows teachers and educators to easily provide feedback on student programming work - both manually and automatically.

Topics

classroomeducationhacktoberfestlmsteaching

Resources

Readme
BSD-3-Clause license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

117 stars

Watchers

4 watching

Forks

34 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.