O projekcie

Nadchodzi koniec miesiąca to najwyższa pora aby rozliczyć swoje dokumenty, spędzasz godziny na uzupełnienie swoich plików xml. Próbujesz je zwalidować, więc chcesz pobrać plik xsd, a tu niemiła niespodzianka, strona nie odpowiada. Co teraz? Nie oddasz swojego sprawozdania? Nie! Tu z pomocą przychodzi nasz projekt XML VeriFile, który umożliwi Ci w każdej chwili sprawnie i co najważniejsze bezpiecznie zwalidować swoje pliki, a nawet je przekonwertować do odpowiedniego czytelnego formatu czyli html lub pdf. Od teraz możesz być spokojny o swoje sprawozdania i nie tylko!

Nasze założenie

Głównym powodem wybrania tego tematu było stworzenie poważnego projektu, który może być stale rozwijany oraz przydać się w użytku codziennym.

Nasz plan

Zamierzamy stworzyć projekt który będzie opierał się o najnowocześniejsze technologie, które zapewnią nam niezawodność, stabilność oraz skalowalność.

Nasza wizja

Głównie stawiamy na rozwój jako grupa, dzięki czemu również możliwy jest nasz rozwój osobisty. Chcemy aby nasz projekt pomógł jak największej ilości użytkowników.

Harmonogram pracy

Termin Opis
19-11-2019 Wybór technologii. Postawienie kanału Jira, Slack, GitLab.
26-11-2019 Postawienie bazy danych.
03-12-2019 Dodanie do aplikacji kolejkowania(redis + celery). Dodanie nginx.
10-12-2019 Utworzenie aplikacji klienckiej + główny serwer.
17-12-2019 Wdrażanie aplikacji. Utworzenie testów jednostkowych.
01-01-2020 Dalsze wdrażanie aplikacji. Udostępnienie jej globalnie dla użytkowników.
01-02-2020 Testowanie aplikacji obciążeniowo. Przygotowywanie prezentacji.
01-03-2020 Wersja końcowa aplikacji. Końcowe testy.
01-04-2020 Wersja ostateczna aplikacji. Dokończenie dokumentacji. Aplikacja działająca i stabilna.
01-06-2020 Przygotowanie prezentacji.
15-06-2020 Prezentacja
   

Użyte technologie

Python 25%
Django 20%
DOCKER 18%
Celery 14%
Redis 11%
NGINX 7%
HTML 5%

Nasz kod

Python/Django 70%
HTML/CSS/JS 15%
Dockerfile 12%
Shell 3%

Harmonogram spotkań

  • 15.11.2019

    Spotkanie z opiekunem

    Spotkanie z opiekunem zespołu, decyzja na temat terminu spotkań, wybranie tematu projektu oraz kluczowej technologii - Python

  • 22.11.2019

    Wybór technologii

    Zlecenie każdemu z członków zespołu przygotowanie referatu na temat jednej z technologii(Celery i Redis, Django, Docker, Nginx i Gunicorn, PostgreSQL). Utworzenie kont na Jira oraz omówienie zasad korzystania.

  • 26.11.2019

    Prezentacja

    Prezentacja referatów, omówienie dalszych celów do realizacji, zaplanowanie wykonania testowej aplikacji. Podział ról w projekcie, zadecydowanie nad systemem kontroli wersji - GitLab. Doprecyzowanie korzystania z Jira.

  • 03.12.2019

    Testy

    Omówienie testowej aplikacji, podział dalszych ról i wyznaczenie planów tygodniowych. Przedyskutowanie formatu oraz języka dokumentacji. Określenie zasad działania na GitLabie.

  • 10.12.2019

    Poprawki

    Nowe pomysły co do aplikacji. Prezentacja działania aplikacji pod obciążeniem. Wnioski i propozycje co można poprawić, a co już może zostać.

  • 17.12.2019

    Podział zadań

    Uwagi do obecnych rozwiązań. Omówienie działania aplikacji i zmian, które w niej zaszły. Rozdzielenie zadań na przerwę świąteczną.

  • 07.01.2020

    Ocena i dalsze pomysły

    Poświąteczna ocena prac nad aplikacją. Pomysły nad poprawieniem konwersji xml na html/pdf. Zastanowienie się jak będą wyglądać testy aplikacji. Dalsze plany co do aplikacji i podział klient/administrator.

  • 21.01.2020

    Ostatnie spotkanie przed sesją

    Podział zadań na czas po sesji, ustalenie przerwy w pracach na czas sesji w celu dobrego przygotowania się do egzaminów. Omówienie dotychczasowych rezultatów zadań (między innymi konwertowanie xml do pdf).

  • 25.02.2020

    Code Review

    Zaprezentowanie kodu w celu sprawdzenia poprawności oraz zgodności z przyjętymi normami programowania.

  • 02.03.2020

    Aplikacja pokazowa

    Zaprezentowanie aplikacji pokazowej (klienckiej) oraz uwagi dotyczące nowych funkcjonalności aplikacji.

  • 16.03.2020

    Poprawienie uwag do aplikacji pokazowej

    Omówienie popraw do aplikacji pokazowej, w szczególności wyświetlania tasków.

  • 30.03.2020

    Dalsze poprawy uwag do aplikacji pokazowej

    Poprawy z wyświetlaniem tabel, dodanie filtrów i sortowania.

  • 06.04.2020

    Raporty

    Napisanie raportów do modułow w celu przygotowania do prezentacji.

  • 14.04.2020

    Prezentacja

    Omówienie stworzonego prototypu prezentacji.

  • 20.04.2020

    Poprawienie prezentacji

    Dodawanie poprawek do prezentacji, omówienie kolejności prezentacji oraz ilość czasu poświęconą na prezentacje danego modułu.

  • 27.04.2020

    Testy jednostkowe

    Dodanie testów jednostkowych do aplikacji i zaprezentowanie pokrycia oraz problemów z testowaniem tasków.

  • 04.05.2020

    Docker

    Poprawienie dockera, dodanie fabrica do uruchamiania dockera oraz dodanie możliwości uruchamiania każdego serwera oddzielnie.

  • 11.05.2020

    Poprawa testów jednostkowych

    Poprawienie testów jednostkowych, żeby mogły być uruchamiane bez jakichkolwiek innych serwerów.

  • 18.05.2020

    Poprawki w prezentacji

    Zaprezentowanie kodu w celu sprawdzenia poprawności oraz zgodności z przyjętymi normami programowania.

  • 22.05.2020

    Omówienie zmiany formatu prezentacji

    Po najnowszych ustaleniach opiekuna przedmiotu nad sposobem prezentacji i udziale w konkursie. Zastanawialiśmy się jaki format ma przyjąć nasza prezentacja, oraz czy chcemy wziąć udział w konkursie. Dodatkowo rozdysponowanie dalszych prac nad aplikacją, czyli rozszerzenie komentarzy do kodu, oraz inne poprawki stylistyczne oraz dokumentacyjne.

  • 01.06.2020

    Film

    Dyskusja na temat wyglądu filmu prezentującego nasz projekt.

  • 09.06.2020

    Montaż

    Pokazanie pierwszej wersji filmu, odsłuchanie i zastanowienie się nad poprawkami.

  • 12.06.2020

    Koniec projektu.

    Dodanie finalnej wersji filmiku na youtube, dyskusja które materiały zamieścić na stronie oraz jak udostępnić API do testów.

Nasz zespół

Poniżej przedstawiamy skład naszego zespołu z podziałem na funkcje.

Adam Borowiecki

Opiekun

Marcin Cyc

Kierownik

Dawid Budzich

Sekretarz

Rafał Grzegorczyk

Programista

Jakub Miś

Programista

Michał Tracewicz

Programista

Raporty Semestralne

Raport Kierownika

Marcin Cyc

Dawid Budzich

Rafał Grzegorczyk

Jakub Miś

Michał Tracewicz

 

Kontakt

Email do kierownika

marcinbedcyc@mat.umk.pl