Wiki › Project

Pre3

Article
From Chaipat's knowledge graph

Pre3 is a course-management system built as a team project at Chiang Mai University. It helps students plan their courses and track their progress, and helps lecturers and administrators manage courses, students and staff.

Roles

Every user has a role, and each role grants a set of permissions:

RoleWhat they can do
GuestBrowse without logging in
StudentManage their courses, track progress, and plan ahead with a visual tree of course prerequisites
LecturerManage their courses and follow their students' progress
AdminManage the whole system

Technology

  • Back end: Flask with Jinja2 templates, SQLAlchemy and PostgreSQL, served by Gunicorn, with Flask-Login and Flask-WTF.
  • Front end: Bootstrap 5 and the SB Admin 2 dashboard template, with JavaScript for the prerequisite tree and other interactive pages.
  • Course data: read from Google Sheets through its API and converted with SheetJS. Sign-in uses Google single sign-on.
  • Running it: Docker, driven by a Makefile.

The course tree echoes his earlier Prerequisite tree tool.

See also