Skip to content
@BaCa2-project

BaCa2 Team

New BaCa checker - online system for creating programming tasks and automating the validation of submitted solutions.

BaCa2 Logo

Welcome to the BaCa2 Project - a collaborative initiative aimed at building a comprehensive online system for creating programming tasks and automating the validation of submitted solutions. Our goal is to establish a robust platform that facilitates deep customization of testing and judging methods used to evaluate submitted solutions.

Currently developed for the Institute of Computer Science and Mathematics at the Jagiellonian University in collaboration with Dr. Grzegorz Gutowski - leveraging his kolejka platform for testing task solutions.

Project Overview

The BaCa2 Project is structured into three major components, each housed in a separate repository:

BaCa2 Web Application, powered by the Django framework, serves as the online platform for managing courses, creating tasks, and submitting solutions. The custom database routing module dynamically creates separate databases for new courses to prevent table bloating and facilitates routing between them. Integration with the USOS API will enable automatic assignment of users registered through the university system to appropriate courses.

The BaCa2 Package Manager is a PyPI package designed to interpret and work with packages representing tasks within the BaCa2 system.

The BaCa2 Broker is a separate module dedicated to handling communication with the kolejka platform. This component ensures efficient and reliable interaction between the BaCa2 system and the task evaluation platform.


The modularity of the system is designed to facilitate extensibility and allow for the possibility of other systems plugging into the task checking module in the future.

Contributors

The project is currently being developed by 3 students of Computer Science at the Jagiellonian University:

bartosz-deptula-pfp

Bartosz Deptuła
Project leader, mainly responsible for the package manager and broker modules, as well as crucial parts of the web application backend.

mateusz-kadula-pfp

Mateusz Kadula
Responsible for broker-web application communication and implementing customizable solution judging workflows.

krzysztof-kalita-pfp

Krzysztof Kalita
Responsible for the BaCa2 web application backend and frontend.

License

The BaCa2 Project is licensed under the GPL-3.0 license.

Acknowledgments

We extend our gratitude to Dr. Grzegorz Gutowski for his collaboration and the kolejka platform without which this project could not have been created.

Feel free to explore each repository for more in-depth information about each component.

Pinned

  1. BaCa2-broker BaCa2-broker Public

    Broker for BaCa2 project. Handles communication with KOLEJKA checking system.

    Python 2

  2. BaCa2-package-manager BaCa2-package-manager Public

    Package manager for BaCa2 (to be exported as PyPI package)

    Python 1

Repositories

Showing 6 of 6 repositories
  • BaCa2 Public

    Web app for the BaCa2 project, an online system for creating programming tasks and automating the validation of submitted solutions.

    Python 0 GPL-3.0 0 0 0 Updated May 29, 2024
  • BaCa2-package-manager Public

    Package manager for BaCa2 (to be exported as PyPI package)

    Python 1 GPL-3.0 0 0 0 Updated May 28, 2024
  • BaCa2-deploy Public template
    Dockerfile 0 0 0 0 Updated May 22, 2024
  • BaCa2-k8s Public template

    Kubernetes setup template for BaCa2 project

    Dockerfile 0 GPL-3.0 0 0 0 Updated May 15, 2024
  • BaCa2-broker Public

    Broker for BaCa2 project. Handles communication with KOLEJKA checking system.

    Python 2 0 0 0 Updated May 8, 2024
  • .github Public

    .github repository of BaCa2-project

    0 0 0 0 Updated Dec 14, 2023

Top languages

Loading…

Most used topics

Loading…