Information Systems Engineering - project

by Karol Wieczorek published 2024/03/10 12:25:00 GMT+1, last modified 2026-03-03T10:26:01+01:00

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 XIIImplementation 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:

  1. Presentation of the project topic and design assumptions.

  2. Application demo including test execution.

  3. Implementation overview (source code, libraries used, tools).

  4. Project Defense – each team member reports on and defends the specific part of the application they implemented.

  5. 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):

  1. Project objective and description of main functionalities.

  2. Use Case Diagram (UML).

  3. Class Diagram (UML) or System Architecture Diagram.

  4. Database Schema (ERD) with descriptions of key relationships.

  5. API Documentation (e.g., Swagger/OpenAPI) or endpoint descriptions.

  6. Description of utilized asynchronous mechanisms (Queues).

  7. Test Report (coverage, main test cases).

  8. Brief installation and deployment manual.