3
1
Fork
You've already forked DUCK
0
Digitally Unified Classroom Keeper - a suite of tools that help run a modern classroom
  • Python 54.1%
  • JavaScript 41.5%
  • HTML 2.7%
  • Dockerfile 1.1%
  • Shell 0.5%
  • Other 0.1%
Chris Jones 6474ca7642 Merge pull request 'TardyAndWhoAbsent' ( #14 ) from TardyAndWhoAbsent into main
Reviewed-on: #14
Reviewed-by: Chris Jones <cjones@noreply.codeberg.org>
2026年05月05日 20:19:23 +02:00
core Migrate 2026年04月30日 13:01:50 -04:00
duck AttendanceTrackerV4 2026年04月30日 13:53:05 -04:00
legacy/contributions_dashboard adding legacy code and README explanation 2026年04月23日 09:11:59 -04:00
photos setup models and fixture 2026年04月23日 14:08:07 -04:00
schema UpdatingSchemaDiagram 2026年04月27日 15:17:23 -04:00
static setup templates, validator, favicon 2026年04月23日 11:16:43 -04:00
templates setup templates, validator, favicon 2026年04月23日 11:16:43 -04:00
.env_example setting up templates 2026年04月23日 10:59:22 -04:00
.gitignore Initial commit 2026年04月22日 19:33:39 +02:00
AttendanceTracker.py TinyFixesAndAddingMoreComments 2026年05月05日 13:55:25 -04:00
docker-compose.yml setup docker postgresql 2026年04月23日 11:57:29 -04:00
Dockerfile setup docker postgresql 2026年04月23日 11:57:29 -04:00
entrypoint.sh setup docker postgresql 2026年04月23日 11:57:29 -04:00
LICENSE Initial commit 2026年04月22日 19:33:39 +02:00
manage.py django startproject and startapp 2026年04月23日 09:57:44 -04:00
README.md setup models and fixture 2026年04月23日 14:08:07 -04:00
requirements.txt setup models and fixture 2026年04月23日 14:08:07 -04:00

DUCK

Digitally Unified Classroom Keeper - a suite of tools that help run a modern classroom

Architecture

This will be a Django project. We'll use Postgresql as the back-end.

DB Schema documented in the schema directory. This schema is generated automatically from core/models.py using https://github.com/django-extensions/django-extensions

To update it, run:

python manage.py graph_models core -o schema/schema.png

This requires graphviz to be installed on the system: sudo apt install graphviz

Some sample data for development is provided in schema/fixture.json. After running django migrations, you can load it with python manage.py loaddata schema/fixture.json

Proposed Components

  1. An account management system - students will be able to login with their NOVA credentials (via oauth/Django Allauth) and tell us about their usernames on Codeberg / Github / other git forges. They can also update preferred name, pronouns, and a current photo that will appear on their flash card
  2. Hall Passes - students will be able to request hall passes
  3. Assignment Grader - Teachers can list assignments. Each assignment will include one or many file paths. Students will be able to see whether there is a file with that name in their repo. Teachers will be able to see files relevant to the assignment from all students' repos
  4. Attendance - students will check in to class
  5. Flash Cards - teachers can use these to learn student names at the beginning of the year.
  6. Contributions - for group projects and shared repos, a report that shows how many commits, PRs, etc each student has made
  7. A setup workflow - that teachers can use to setup student accounts from a roster

Previous Work

This project largely combines tools that have been constructed in several different repos: