Information Systems Engineering - project
Project Organization: Information Systems Engineering
Projects are carried out in groups of 3-4 students. Any other group size requires prior approval from the Instructor. Each project team must appoint a Team Leader, who is responsible for coordinating the team's work and acting as the primary point of contact with the Instructor.
Work Methodology:
-
Teams must use a task management board (e.g., Trello, Jira, GitHub Projects).
-
Classes held during even-numbered weeks are dedicated to "Sprint Reviews" (Retro/Planning) – the team reports on completed work and outlines the plan for the next 2 weeks.
-
After each even-numbered class, the Team Leader must send an email to the Instructor (subject:
ISE_PROJECT_GR_SURNAMES_DATE) containing a link to the task board (or a screenshot of it) and a brief progress report.
Project Schedule:
-
Week II – Team registration, selection of Team Leader, and project topic submission. Setup of the task board and repository (GitLab/GitHub).
-
Week IV – Analysis Presentation: Database schema (ERD), selected technology stack, and UML diagrams.
-
Week VI – Functional Skeleton Presentation: CRUD operations and database connectivity.
-
Week VIII – Implementation of the core business logic.
-
Week X – Integration with external systems (Social Media, Payment Gateways).
-
Week XII – Implementation of asynchronous message queues and presentation of automated tests.
-
Week XIV – Final review, documentation refinement, and UI polishing.
-
Week XV – Project submission and Final Defense (1st attempt).
Project Defense and Grading:
-
Presentation of the project topic and design assumptions.
-
Application demo including test execution.
-
Implementation overview (source code, libraries used, tools).
-
Project Defense – each team member reports on and defends the specific part of the application they implemented.
-
Submission of the report – technical documentation in hard copy (paper) and an electronic version (source code + documentation) sent via email.
Project Requirements:
-
The project must implement the MVC or REST API pattern.
-
Backend programming language: Student's choice. Note: There is a total ban on using JavaScript / Node.js / TypeScript in the server-side layer.
-
Asynchronicity: Mandatory use of asynchronous message queues (e.g., Kafka, RabbitMQ, ActiveMQ) for background processes (e.g., sending notifications, processing payment statuses).
-
Subject matter: Information systems for enterprises (manufacturing, trade, services).
-
Each project must include:
-
Login functionality using Social Media (OAuth2).
-
Integration with an electronic payment system (Sandbox/Developer accounts). Handling negative scenarios (failed payments) is mandatory.
-
An OFFLINE payment approval option for administrators.
-
Part-time students: Only one of the payment functionalities (online or offline) is mandatory.
-
-
Automated unit and integration tests are mandatory (minimum 50% coverage of business logic).
-
In justified cases, it is permissible to develop a system providing only a REST API.
Technical Documentation Scope (The Report):
-
Project objective and description of main functionalities.
-
Use Case Diagram (UML).
-
Class Diagram (UML) or System Architecture Diagram.
-
Database Schema (ERD) with descriptions of key relationships.
-
API Documentation (e.g., Swagger/OpenAPI) or endpoint descriptions.
-
Description of utilized asynchronous mechanisms (Queues).
-
Test Report (coverage, main test cases).
-
Brief installation and deployment manual.
