Pre3
Project · course project · 2023–2024
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:
| Role | What they can do |
|---|---|
| Guest | Browse without logging in |
| Student | Manage their courses, track progress, and plan ahead with a visual tree of course prerequisites |
| Lecturer | Manage their courses and follow their students' progress |
| Admin | Manage 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
Pictures
In the knowledge graph
Pre3 and the 15 things it is linked to. Open any dot for its page, or explore it in the full graph.
As data
Everything on this page is read from triples in the knowledge graph. These are the 32 it states about Pre3, and 2 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.
@prefix id: <https://ask.chaipat.cc/id/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix cj: <https://ask.chaipat.cc/ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix xsd: <http://www.w3.org/2001/XMLSchema#> . id:Pre3 a cj:Project ; rdfs:label "Pre3" ; cj:description "Course management system that helps students plan courses and track progress, and helps faculty manage them." ; cj:context id:CMU ; cj:repository "https://github.com/AppleBoiy/pre3"^^xsd:anyURI ; cj:firstCommit "2023-10-14"^^xsd:date ; cj:lastCommit "2024-03-08"^^xsd:date ; cj:commitCount 126 ; cj:kind "course project" ; cj:license "MIT" ; cj:theme id:ThemeWeb ; cj:uses id:Python , id:HTMLCSS , id:JavaScript , id:SQLAlchemy , id:Gunicorn , id:Jinja , id:Bootstrap , id:Make ; cj:tier 2 ; cj:integrates id:GoogleSheetsAPI ; cj:relatedTo id:PrerequisiteTree ; cj:mentions id:Docker , id:Flask , id:PostgreSQL ; cj:article "https://ask.chaipat.cc/wiki/Pre3"^^xsd:anyURI ; cj:activeIn id:Y2023 , id:Y2024 ; cj:activity _:b127 , _:b128 , _:b129 , _:b130 .


