Organizacja zajęć projektu z Inżynierii Systemów Informacyjnych
- Projekty wykonywane są w grupach 3-4 osobowych. Inna liczebność członków zespołu projektowego wymaga zgody Prowadzącego.
- Każdy zespół projektowy wybiera swojego team leadera, który odpowiada za koordynację pracy w zespole. Team leader odpowiada za kontakt z Prowadzącym w imieniu zespołu osobiście, bądź może do tego wyznaczyć inną osobę.
- Każdy zespół musi dotrzymywać terminów wg Harmonogramu opisanego poniżej.
- Na zaliczenie projektu musi stawić się cały zespół.
- Przebieg zaliczenia projektu odbywa się wg następujących punktów:
- Przedstawienie tematyki projektu i założeń projektowych
- Prezentacja aplikacji wraz z przeprowadzonymi testami
- Przedstawienie sposobu implementacji poszczególnych elementów aplikacji (kod źródłowy, użyte biblioteki, narzędzia itp.)
- Obrona projektu - każdy z członków zespołu referuje część aplikacji wykonaną przez siebie
- Złożenie sprawozdania - dokumentacja techniczna w formie papierowej oraz dokumentacja wraz z kodami źródłowymi w wersji elektronicznej (wysłanej na wskazanego maila)
- Po każdych zajęciach team leader wysyła maila do prowadzącego z tematem o wzorze: ISI_PROJEKT_NAZWISKA_DATAZAJĘĆ gdzie w kilku zdaniach opisuje co zespół robił w czasie od poprzednich zajęć
Harmonogram spotkań:
- II zajęcia - Zgłoszenie zespołów projektowych z wskazaniem Team Leadera. Zgłoszenie tematów projektów (tematy MUSZĄ być unikalne). Przygotowanie wstępnej listy funkcjonalności projektu. Zarejestrowanie kont na GitLab (lub podobnym) i dodanie Prowadzącego do projektu.
- III zajęcia - Przygotowanie prezentacji z pełnymi założeniami projektu: Treść założeń, schemat baz danych (jeśli dotyczy), wykorzystywane technologie, diagramy UML.
- VI zajęcia - Przedstawienie kompletnego systemu w wersji demo (dopuszczalne są: błędy w działaniu, brak drobnych funkcjonalności, brak testów)
- Ostatni zajęcia w semestrze - I termin oddania projektu
Wymagania dotyczące projektu
- Projekt musi implementować wzorzec MVC / REST API
- Język programowania pozostaje do wyboru studentów (poza JavaScript / NodeJS)
- Tematyka projektów powinna dotyczyć systemów informacyjnych przeznaczonych np dla firm produkcyjno - handlowo - usługowych
- Każdy projekt musi zawierać funkcjonalność logowania z użyciem dowolnego systemu social media oraz integrację z dowolnym systemem płatności elektronicznych (pracujemy WYŁĄCZNIE na kontach deweloperskich, aby nie dochodziło do rzeczywistych płatności). Integracja płatności musi obsługiwać scenariusze negatywne (jeśli płatność nie zostanie zrealizowana z dowolnego powodu). Każda funkcjonalność płatności powinna również posiadać możliwość zatwierdzenia płatności OFFLINE (kliknięcie przez administratora kontrolki, że płatność została dokonana poza systemem elektronicznym) - studentów studiów niestacjonarnych obowiązuje tylko jedna z tych funkcjonalności.
- Każdy projekt musi zawierać automatyczne testy jednostkowe oraz integracyjne (przynajmniej 50% funkcjonalności)
- W uzasadnionych przypadkach, dopuszcza się wykonanie systemu dostarczającego tylko REST API (gdy np część kliencka będzie wykonana osobno)