Kool is an open source platform for online classroom management.
Project description
Kool is an open source platform for online classroom management.
The aim is to create a minimalist framework that educationist can extend when building an online classroom management system.
The current version supports extending class User, Course, and Quiz. The database is a small CSV flatfile implementation.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Python3. See Python3 Tutorial
Virtualenv. See Virtual Environments Tutorial
Installing
Fetch the latest copy of the project from github
git clone https://github.com/edasi/kool.git
Setup a virtual environment
python3 -m venv kool-env
On Windows, run:
kool-env\Scripts\activate.bat
On Unix or MacOS, run:
source kool-env/bin/activate
Install requirements
pip install -U pip pip install -r requirements.txt
Code Examples
On python interactive shell, start by extending class User to create a Student.
from kool.contrib.auth import User
# Extending class User
class Student(User):
pass
student = Student(first_name='John', last_name='Doe', email='john@doe.com', password='secretpwd')
student.save()
To insert another student record in an existing table
from kool.db.models import table
# Get Student table to perform CRUD operations
student = table(Student)
student.insert({'first_name': 'Mary', 'last_name': 'Doe', 'email': 'mary@doe.com', 'password': 'secretpwd2'})
To query an existing table
from kool.db.models import where
student.filter(where('last_name') == 'Doe')
To perform complex queries
from kool.db.flatfile import Query
Student = Query()
student.filter((Student.first_name == 'John') | (Student.first_name == 'Mary'))
Tests
Written tests are inside the tests/ directory. They are implemented using the pytest module.
On a terminal, run:
pytest tests/
Test Coverage
Test coverage is covered by coverage and pytest-cov tools. Local test reports are built in html format inside the htmlcov/ directory that is automatically generated when pytest is run. However, online test reports are built by CircleCI
Documentation
Read the latest project documentation at kool-docs
License
Kool is licensed under MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.