Welcome to the BaCa2 project web application component. This Django-based web app is designed to provide an online platform for creating and managing programming tasks, as well as submitting solutions for automatic evaluation. The system revolves around the concept of courses which are used to organize groups of users into roles and provide them with access to a curated list of tasks designed by course leaders.
Currently developed for the Institute of Computer Science and Mathematics at the Jagiellonian University
This repository represents the web application component of the BaCa2 Project, a collaborative effort to develop a comprehensive online system for creating programming tasks and automating the validation of submitted solutions. For a broader understanding of the project and its goals, please refer to the project README.
The Django project is organized into three main apps:
-
main
- responsible for authentication, user data and settings, management of courses and their members -
course
- responsible for management of tasks, submissions and other data and functionalities internal to any given course -
package
- used to communicate with BaCa2-package-manager and represent its packages within the web app
The BaCa2 web application component is currently being developed by 2 members of the project team:
Krzysztof Kalita
Main team member responsible for BaCa2 web app development, working on both backend and frontend. Responsible for the main
app, views, widgets and backend-frontend communication.
Bartosz Deptuła
Responsible for the course
and package
app backend, as well as custom database router used to dynamically create databases for new courses and route between them.
The BaCa2 Project is licensed under the GPL-3.0 license.