

Tournament 2024

Task of the tournament
The main goal of the project is to develop an educational platform that provides functionality similar to what Moodle offers. You can familiarize yourself with how their system works by following this link to gain a deeper understanding of the tasks ahead of you.

The project will be evaluated according to the following criteria:
01
Functionality, stability and correctness of the platform.
03
Teamwork when using git for version control (see non-functional requirements).
05
** Effective use of design patterns and technologies.
07
** UI (the user interface of your web application should be attractive) and UX (the user experience should ensure the convenience and ease of use of the web application)
02
Code quality, its purity.
04
Documentation quality.
06
** Level of code coverage by tests.
** - tasks of increased complexity, not mandatory to complete, but which will be evaluated with additional points

Technologies:
Frontend:
You can use any available technology to develop the interface.
Backend:
You must follow the principles of object-oriented programming.
Database:
You have the option to use any of the available technologies to create and manage databases.

Requirements
-
Functional requirementsOur program consists of: Teacher Chief-Teacher Student Subject Study-account materials Authorization Login form with email and password Users are divided into: teacher, chief-teacher, student. Home page List of Subjects sorted by name List of Teachers sorted by last name Number of classes and number of Students ** Student Achievements ** Teacher Achievements Teacher List of Subjects taught by the Teacher Can add or remove Students in the Subject Can grade Students by Subject in the gradebook Browse (sort by last name) and search for available Teachers ** Teacher Achievements Teacher-Head Assigns the Teacher to teach the Subject Can add or remove Teachers Subject Class(s) teaching the Subject List of Students studying the Subject View (sort by name and by class) and search for Subjects ** Educational materials for the Subject (pdf, word, …, pictures, text, links to video materials) ** Tasks for the Subject (tests with one or more correct answers that the teacher can create) ** The Teacher can add and delete educational materials and create their own tests in the test designer Student Subjects studied by the Student Success (list of grades and average score) View (sort by surname, by class, by success) of all students Pagination Search for students ** Student achievements (winner/prize winner of olympiads, competitions, tournaments, competitions) Teaching and accounting materials Class schedule with presentation in the form of a calendar; Grade log (date - grade (or absence/lateness)) A student can only see his own grade statistics A teacher can see statistics for all students for his Subjects
-
Non-functional requirementsGitHub The project must be posted to a public GitHub repository ** There must be a history of development, branch creation, commits, pull requests, and activity of all team members Architecture The project must include a database, backend, and frontend, developed in compliance with generally accepted programming principles. Use of OOP; Documentation and Instructions Documentation (Readme.md) for the project. Detailed step-by-step instructions for local deployment of the project. Explain how to deploy all its components (including the database). It is important to develop a clear approach: if the jury members fail to launch the project, it will not be evaluated. Stability The project must work without errors and bugs. ** Testing Ensure code coverage with tests, including integration with a plugin for tracking test coverage.
Tournament Jury
_JPG.jpg)
Albin Nilsson
Nexer AB
Albin is a developer from Sweden. Albin previously worked in game development in Denmark, having worked on PC games with C++ and mobile games with Unity (C#).

Bohdan Shtohrinets
Sigma Software
Bogdan works as a Senior Software Developer at Sigma Software. Bogdan’s experience spans various industries, such as Adtech, Cyber Security, Blockchain, Media, and Entertainment.

Dmytro Hurskyi
Sigma Software
Dmytro is experienced in developing mobile and web applications.
He works daily with technologies and frameworks such as: Flutter, iOS Native, Android Native.

Maksym Kit
Eleks
A practicing software engineer, software developer, and head of the engineering management office at ELEKS, with two decades of experience in designing, developing, implementing, and supporting software, computer systems.

Yuriy Mishchenko
Sigma Software
With over 17 years of experience in developing client-server applications across various domains, Yuriy is recognized as a project initiator with strong expertise in web development.

Viacheslav Leskiv
Levi9
For three years, he has been mentoring students in engineering programs. He is proficient in Python/Django/FastAPI/Java,
and is recognized as an admin/moderator and one of the most significant contributors to FastAPI.
.jpg)
Kateryna Zybina
Sigma Software
Kateryna is the Training Manager at Sigma Software University and a lecturer at Kharkiv National University of Radio Electronics. Kateryna specialises in JavaScript, PHP, Python, Node.js, TypeScript, React.js, and Vue.js. She has experience working with SQL.


