Opis techniczny aplikacji - Generator en-GO
Transkrypt
Opis techniczny aplikacji - Generator en-GO
Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych Cieszyn, 2014 r. Projektodawca: Stowarzyszenie Wspierania Inicjatyw Gospodarczych DELTA PARTNER Ul. Zamkowa 3A / 1, 43 – 400 Cieszyn Tel. (33) 851 44 81, fax: (33) 851 44 81 [email protected], [email protected] www.kalkulatorngo.pl Partner projektu: Miasto Ustroń Ul. Rynek 1, 43-450 Ustroń Wykonawca narzędzia: Tytuł projektu: „Kalkulator outsourcingu: Generator eNGO” Numer umowy zawartej z instytucją weryfikującą: UDA.POKL.05.04.02-00-E24/11-00 Projekt „Kalkulator outsourcingu: Generator eNGO” jest współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Cieszyn – 2014 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych Spis treści Wprowadzenie................................................................................................................................. 5 1. Architektura systemu .................................................................................................................. 7 1.1 Zalety architektury klient-serwer ......................................................................................... 7 1.2 Wady architektury klient-serwer .......................................................................................... 8 1.3 Schemat działania w architekturze klient-serwer ............................................................... 8 2. Wymagania sprzętowe i programowe ....................................................................................... 9 3. Wykorzystane technologie informatyczne ............................................................................... 11 4. Instrukcja instalacji .................................................................................................................... 13 5. Opis struktury katalogów projektu ........................................................................................... 15 6. Opis struktury bazy danych. ...................................................................................................... 17 6.1 Tabela – Groups .................................................................................................................. 17 6.2 Tabela – Historia.................................................................................................................. 18 6.3 Tabela – jednostki ............................................................................................................... 19 6.4 Tabela – Migrations............................................................................................................. 20 6.5 Tabela – News ..................................................................................................................... 21 6.6 Tabela - Notices ................................................................................................................... 22 6.7 Tabela – Notifications ......................................................................................................... 23 6.8 Tabela – Oferenci ................................................................................................................ 24 6.9 Tabela – Oferenci_reprezentanci ....................................................................................... 26 6.10 Tabela – Oferty .................................................................................................................. 27 6.11 Tabela – Oferty_dane ....................................................................................................... 28 6.12 Tabela – Oferty_harmonogram ........................................................................................ 29 6.13 Tabela – Oferty_inne_informacje .................................................................................... 30 6.14 Tabela – Oferty_inne_zrodla_finansowe ......................................................................... 31 6.15 Tabela – Oferty_kosztorys ................................................................................................ 32 6.16 Tabela – Oferty_oceny ...................................................................................................... 33 6.17 Tabela – Oferty_oferenci .................................................................................................. 34 6.18 Tabela – Oferty_oferenci_reprezentanci......................................................................... 36 6.19 Tabela – Oferty_oswiadczenia ......................................................................................... 37 6.20 Tabela – Oferty_parametry .............................................................................................. 38 Strona 3 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.21 Tabela – Oferty_zakresy_realizacji ................................................................................... 39 6.22 Tabela – Oferty_zrodla_finansowe .................................................................................. 40 6.23 Tabela – Pomoc ................................................................................................................. 41 6.24 Tabela – Settings ............................................................................................................... 42 6.25 Tabela – Sprawozdania ..................................................................................................... 43 6.26 Tabela – Sprawozdania_faktury ....................................................................................... 44 6.27 Tabela – Sprawozdania_faktury_pozycje ........................................................................ 45 6.28 Tabela – Sprawozdania_finanse ....................................................................................... 46 6.29 Tabela – Sprawozdania_inne ............................................................................................ 47 6.30 Tabela – Sprawozdania_koszty......................................................................................... 48 6.31 Tabela - Sprawozdania_merytoryczne ............................................................................. 49 6.32 Tabela - Sprawozdania_merytoryczne_dzialania ............................................................ 50 6.33 Tabela – Statusy ................................................................................................................ 51 6.34 Tabela – Throttle ............................................................................................................... 52 6.35 Tabela – Users ................................................................................................................... 53 6.36 Tabela – Users_groups ..................................................................................................... 54 6.37 Tabela – Wskaźniki ............................................................................................................ 55 6.38 Tabela – Wskazniki_oferty_parametry ............................................................................ 56 6.39 Tabela – Zadania ............................................................................................................... 57 6.40 Tabela – zadania_edycje ................................................................................................... 58 6.41 Tabela – Zadania_linki....................................................................................................... 59 6.42 Tabela – Zadania_zakres ................................................................................................... 60 6.43 Tabela – załączniki............................................................................................................. 61 Strona 4 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych Wprowadzenie Dokument zawiera informacje pomocne przy instalacji systemu i jego ewentualnej rozbudowie oraz konserwacji. Adresowany jest głównie dla informatyków obsługujących organy administracji publicznej (OAP), w tym jednostki samorządu terytorialnego (JST). Rozdziały dotyczące wymagań sprzętowych, czy stosowanych technologii informatycznych są szczególnie istotne dla organów administracji publicznej, samodzielnie instalujących Generator eNGO. Dla OAP korzystających z serwera SWIG DELTA PARTNER mają mniejsze znaczenie. Dodatkową zaletą korzystania z Generatora umieszczonego na serwerze SWIG DELTA PARTNER jest korzystanie zawsze z najnowszej wersji Generatora oraz brak problemu związanego z aktualizacją aplikacji. W najobszerniejszym rozdziale Opis struktury bazy danych przedstawiono schemat tablic z bazy danych (SQL). Opisano w nim wszystkie tablice systemu – dane te są przydatne dla rozbudowy i modyfikacji systemu. Strona 5 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 1. Architektura systemu Aplikacja Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych została zrealizowana w oparciu o architekturę klient-serwer (cienki klient) głównie z wykorzystaniem technologii webowych (PHP i MySQL). Architektura klient-serwer wydaje się być najwłaściwszą dla tego typu aplikacji. Pobieranie, zapisywanie i analiza danych odbywa się na serwerze, po czym wyniki tych operacji są generowane jako kod HTML, wysyłane do komputera-klienta i wyświetlane. Dzięki zastosowaniu takiej technologii zredukowane zostały wymagania co, do mocy obliczeniowych komputera użytkownika – rolę interfejsu pełni dowolna przeglądarka internetowa obsługująca standard HTML 5. 1.1 Zalety architektury klient-serwer Wszystkie informacje przechowywane są na serwerze, wobec tego możliwe jest lepsze zabezpieczenie danych. Po stronie serwera występuje kontrola, kto ma prawo do odczytywania i zmiany danych. Wieloplatformowość aplikacji – dzięki temu występuje duża dostępność systemu. Brak ograniczenia co, do systemu operacyjnego lub urządzenia. Wymagane jest tylko urządzenie posiadające przeglądarkę www, zgodną ze standardem HTML5. Całość prac administracyjnych i konserwacyjnych ogranicza się do przestrzeni serwera aplikacji, nie zaś klienta. Eliminuje to całkowicie konieczność wprowadzania zmian na każdym komputerze klienta, a jedynie administrator serwisu jest odpowiedzialny za aktualizację aplikacji na serwerze. Globalna dystrybucja najnowszej wersji oprogramowania. Po wgraniu najnowszej wersji na serwer, automatycznie wszyscy użytkownicy korzystają z najnowszej wersji oprogramowania. Umożliwia to szybkie poprawianie błędów wykrytych w aplikacji w trakcie użytkowania, zgłoszonych przez użytkowników. Strona 7 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 1.2 Wady architektury klient-serwer Wadą architektury typu klient-serwer może być zbyt duża liczba odbiorców (co jest również zaletą), co z kolei może prowadzić do trudności z przepustowością oraz do podobnych problemów natury technicznej. Kiedy serwer nie będzie funkcjonował poprawnie, wówczas dostęp do zasobów może być niemożliwy dla wszystkich klientów. W przypadku dużej liczby klientów potrzebny jest wydajny serwer wraz z łączem internetowym o odpowiedniej przepustowości. 1.3 Schemat działania w architekturze klient-serwer Jak widać na powyższym obrazku, komunikacja w architekturze klient-serwer odbywa się poprzez sieć Internet, dowolni użytkownicy łączą się z komputerem (serwerem aplikacji) która zwraca stronę do przeglądarki, a następnie odbiera i interpretuje żądania przesłane przez użytkowników. Liczba klientów korzystających jednocześnie z tego typu aplikacji jest ograniczona tylko zasobami mocy dostępnymi po stronie serwera. Strona 8 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 2. Wymagania sprzętowe i programowe Serwer – sprzęt Aplikacja Generator eNGO została zainstalowana na serwerze o podanej specyfikacji, co zapewnia optymalne działanie serwera na obecnym etapie realizacji projektu oraz zapewnia poprawne działanie aplikacji po końcowym wdrożeniu systemu: Procesor: Intel Xeon z serii E5-2600, Pamięć RAM: 16GB, HDD: 1TB (Raid 1). Serwer – oprogramowanie Serwer działa w oparciu o system Debian Linux w wersji 7.7 (http://www.debian.org/), Serwer WWW Apache w wersji 2.2 wzwyż (http://apache.org/), PHP wersji 5.4.4+ (http://php.net/), Baza danych MySQL w wersji 5.5 wzwyż, Na serwerze wymagane jest również zainstalowanie menedżera zależności dla PHP composer (http://getcomposer.org/). Klient Dla klienta końcowego wymagania systemowe nie są zbyt wygórowane, gdyż wymagany jest dowolny komputer lub tablet z przeglądarką internetową oraz dostępem do sieci internet. Zalecana minimalna rozdzielczość ekranu to 1280x800 lub więcej. Dzięki tak niewielkim wymaganiom od strony klienta, aplikacja jest dostępna dla szerokiego grona odbiorców, którymi są organizacje pozarządowe, co nie narzuca dodatkowych kosztów na te organizacje. Istnieje również możliwość korzystania z Generatora eNGO z telefonu komórkowego (smartphone), ale z racji ograniczenia wielkości ekranu i rozdzielczości wykonywanie pewnych funkcji może być utrudnione. Funkcja ta nie była pierwotnym założeniem wymagań stawianych przed systemem, ale jest również dodatkowo wdrażana i w przyszłości zostanie również bardziej dopracowana, kiedy projekt zostanie już uruchomiony w skali globalnej. Strona 9 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych Wspierane przeglądarki internetowe: Internet Explorer 10+, Firefox 20+, Opera 12+, Chrome 30+, Safari 5+. Strona 10 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 3. Wykorzystane technologie informatyczne Realizacja aplikacji opiera się na wykorzystaniu ogólnodostępnych, darmowych technologii programistycznych, związanych ze skryptowym językiem programowania PHP. Repozytorium danych stanowi relacyjna baza danych MySQL, zaś do budowania ekranów formularzy wykorzystano głównie framework CSS – Bootstrap oraz bibliotekę AngularJS. Rolę serwera aplikacji pełni serwer Apache z uruchomionym modułem PHP w wersji 5.4. Na serwerze jest również zainstalowane narzędzie composer, które służy do zarządzania zależnościami języka PHP. Generator eNGO został stworzony w oparciu o framework Laravel w wersji 4.x. (http://laravel.com/) Do autoryzacji i zarządzania kontami użytkowników wykorzystana została biblioteka Sentry2. Do generowania dokumentów PDF w systemie, została wykorzystana biblioteka DOMPDF w najnowszej wersji. Strona 11 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 4. Instrukcja instalacji Do zainstalowania Generatora eNGO na własnym serwerze, wymagana jest podstawowa wiedza z zakresu administracji serwerami, opartymi na systemie Linux/Unix. Wymagania dotyczące samego serwera zostały opisane w rozdziale Wymagania sprzętowe i programowe. Poszczególne kroki w procesie instalacji zostały opisane poniżej: 1. Otrzymaną paczkę z kodem Generatora eNGO (generator-engo-1.2.0.tgz) rozpakować do katalogu na serwerze w którym chcemy przetrzymywać aplikację. 2. W katalogu docs/db znajduje się skrypt bazy danych o nazwie db-engo.sql, który należy zaimportować do utworzonej wcześniej bazy danych MySQL. 3. Zmienić ustawienia dostępu bazy danych w pliku app/config/database.php na nazwę bazy danych, zgodną z krokiem drugim instalacji oraz wprowadzić poprawną nazwę użytkownika i hasło do istniejącej bazy danych. 4. W pliku app/config/mail.php należy wprowadzić poprawne dane serwera smtp, użytkownika i hasło do serwera pocztowego, za pomocą, którego będą wysyłane powiadomienia mailowe do użytkowników. 5. W głównym katalogu aplikacji należy wykonać polecenie: „composer install” co spowoduje zainstalowanie wszystkich zależnych bibliotek do katalogu vendor. Do poprawnego wykonania tego polecenia wymagane jest posiadanie zainstalowanego narzędzia composer. 6. Należy ustawić ścieżkę root serwera WWW, aby wskazywała na podkatalogi public w katalogu, gdzie została zainstalowana aplikacja. 7. Po wykonaniu powyższych kroków, aplikacja powinna być dostępna z poziomu przeglądarki poprzez wpisanie w pasku adresu IP serwera na którym została zainstalowana. Strona 13 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 5. Opis struktury katalogów projektu Katalog główny Katalog główny na serwerze w którym została zainstalowana aplikacja zawiera następujące katalogi oraz podkatalogi: app Katalog zawiera pliki powiązane z projektem. Zawiera kod źródłowy aplikacji, wszystkie klasy aplikacji, modele, widoki bootstrap Katalog zawiera pliki potrzebne do uruchomienia framework'a na którym została zbudowana aplikacja w momencie żądania strony przez przeglądarkę internetową. vendor Katalog zawiera wszystkie biblioteki instalowane za pomocą composer, kod źródłowy framework'a. Tutaj jest zainstalowny framework Laravel, biblioteka Sentry2, biblioteka generowania plików pdf (dompdf) oraz inne zależności i biblioteki wymagane do działania aplikacji. public Jest to główny katalog serwera www dostępny dla użytkowników z poziomiu przeglądarki, zawiera pliki css, img, Javascript. Strona 15 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6. Opis struktury bazy danych. Opis zawiera strukturę bazę danych wraz z opisem przeznaczenia poszczególnych tabel używanych w systemie. W poniższym opisie nie są widoczne wszystkie powiązania pomiędzy poszczególnymi tabelami. 6.1 Tabela – Groups Tabela zawiera role użytkowników w systemie eNGO. Na chwilę obecną w systemie są zdefiniowane 2 role. OAP / JST – organ administracji publicznej / jednostka samorządu terytorialnego. NGO-klient – organizacja pozarządowa. W przyszłości będzie istniała możliwość rozbudowy systemu o kolejne rolę które będą posiadały dodatkowe funkcjonalności niż dotychczas założone w systemie jak np. obserwator (burmistrz), który będzie mógł śledzić pracę urzędników odpowiedzialnych za przepływ danych w systemie. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `groups` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `permissions` text COLLATE utf8_unicode_ci, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), UNIQUE KEY `groups_name_unique` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 17 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.2 Tabela – Historia Tabela, dzięki której można zobaczyć całą historię danej oferty lub sprawozdania. Rekordy podzielone są na 2 poziomy ważności w kolumnie ‘level’. Wydarzenia ważne, jak złożenie, stworzenie, czy wybranie oferty mają wartość 1. Z kolei wydarzenia o wartości 2 to wszelkie zmiany jakie zachodziły w dokumencie. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `historia` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `oferty_id` int(11) NOT NULL, `user_id` int(10) unsigned NOT NULL, `action` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `checksum` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `report_id` int(10) unsigned DEFAULT NULL, `level` tinyint(1) NOT NULL DEFAULT '1', `diff` text COLLATE utf8_unicode_ci, PRIMARY KEY (`id`), KEY `FK_oferty_historia_oferty` (`oferty_id`), KEY `FK_oferty_historia_users` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 18 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.3 Tabela – jednostki Tabela zawiera zdefiniowane jednostki, które są używane do wypełniania pozycji kosztorysowych. Możliwość edycji jednostek, czy zarządzanie dostępnymi jednostkami w systemie jest możliwe z poziomu JST (OAP) w menu Ustawienia -> Jednostki miar. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `jednostki` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nazwa` varchar(32) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 19 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.4 Tabela – Migrations Jest to wewnętrzna tabela systemowa na potrzeby aplikacji generatora zawierająca aktualny stan migracji bazy danych – odpowiada za aktualizację struktury bazy danych. Nie zawiera żadnych danych użytkowników. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `migrations` ( `migration` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `batch` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 20 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.5 Tabela – News Tabela, do której informacje można wprowadzać tylko z poziomu JST (OAP). Przechowywane w niej są wiadomości, które widoczne są dla wszystkich użytkowników na panelu głównym. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `news` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `data` date NOT NULL, `tytul` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `opis` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 21 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.6 Tabela - Notices Tabela zawierająca uwagi i pytania użytkowników na temat aplikacji, ewentualne problemy, zgłaszane z poziomu formularza uwag w panelu NGO. Z poziomu JST (OAP) można udzielić odpowiedzi. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `notices` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL, `title` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `request` text COLLATE utf8_unicode_ci NOT NULL, `respond` text COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `oferenci_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `notices_user_id_foreign` (`user_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 22 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.7 Tabela – Notifications Tabela, w której przechowywane są powiadomienia. Tworzone są one automatycznie, kiedy w panelu JST (OAP) zostanie wykonana ważna akcja dla użytkownika np. zwrot oferty do korekty, oczekiwanie na podpisanie umowy, czy odrzucenie oferty. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `notifications` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `oferenci_id` int(11) NOT NULL, `title` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `text` text COLLATE utf8_unicode_ci NOT NULL, `unread` tinyint(1) NOT NULL DEFAULT '1', `document_type` varchar(32) COLLATE utf8_unicode_ci DEFAULT 'null', `document_id` int(11) DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 23 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.8 Tabela – Oferenci Tabela zawiera oferentów, którzy zarejestrowali się w systemie eNGO wraz z wszystkimi jego danymi wprowadzonymi poprzez panel NGO. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferenci` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_user` varchar(45) DEFAULT NULL, `main` tinyint(1) NOT NULL DEFAULT '0', `nazwa` varchar(64) NOT NULL, `forma_prawna` enum('stowarzyszenie','fundacja','koscielna_osoba','spoldzielnia','koscielna_jednostka','inna') NOT NULL, `forma_prawna_inna` varchar(32) NOT NULL, `krs` varchar(15) NOT NULL, `data_wpisu` date NOT NULL, `nip` varchar(13) NOT NULL, `regon` varchar(10) NOT NULL, `miejscowosc` varchar(48) NOT NULL, `ulica` varchar(48) NOT NULL, `dzielnica` varchar(32) DEFAULT NULL, `gmina` varchar(32) NOT NULL, `powiat` varchar(32) DEFAULT NULL, `wojewodztwo` varchar(32) NOT NULL, `kod_pocztowy` varchar(6) NOT NULL, `poczta` varchar(32) NOT NULL, `telefon` varchar(15) DEFAULT NULL, `fax` varchar(15) DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `www` varchar(128) DEFAULT NULL, `bank_konto` varchar(32) NOT NULL, `bank_nazwa` varchar(64) NOT NULL, Strona 24 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych `jednostka_organizacyjna` varchar(255) NOT NULL, `osoba_upowazniona` varchar(128) NOT NULL, `dzialalnosc_odplatna` text NOT NULL, `dzialalnosc_nieodplatna` text NOT NULL, `numer_wpisu` varchar(20) DEFAULT NULL, `przedmiot_dzialalnosci` text, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `parent_id` int(10) unsigned DEFAULT NULL, `typ` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `oferenci_parent_id_foreign` (`parent_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 25 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.9 Tabela – Oferenci_reprezentanci Tabela zawiera dane osób reprezentujących danego oferenta, zdefiniowanego w systemie, wraz ze stanowiskiem oraz numerem telefonu. Osoby reprezentujące powinny być zgodne z wpisem KRS zarejestrowanej instytucji. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferenci_reprezentanci` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferenci` int(10) unsigned NOT NULL, `nazwa_reprezentanta` varchar(45) NOT NULL, `telefon` varchar(20) DEFAULT NULL, `stanowisko` varchar(64) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_oferenci_reprezentanci_oferenci1_idx` (`id_oferenci`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 26 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.10 Tabela – Oferty Tabela zawiera nagłówki wszystkich ofert składanych przez oferentów w odpowiedzi na ogłoszone zadania. Stan określa na jakim etapie jest dana oferta np. wersja robocza, oceniona itd. Bardzo ważna jest także wersja oferty, która zmieniana jest w momencie zwrotu oferty do korekty – wówczas inkrementowana jest jej wartość, aby można mieć wgląd do dowolnej wersji oferty. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_zadania` int(11) NOT NULL, `id_uzytkownika` int(10) unsigned NOT NULL, `wersja` smallint(6) NOT NULL COMMENT 'Wersja złożonej oferty', `numer` varchar(16) NOT NULL, `stan` tinyint(1) NOT NULL COMMENT '0 robocza 1 zlożona 2 zaakceptowana', `miejsce` varchar(45) DEFAULT NULL COMMENT 'Miejsce złożenia oferty', `checksum` varchar(32) DEFAULT NULL COMMENT 'Suma kontrolna wygenerowanej oferty', `created_at` datetime NOT NULL, `updated_at` datetime DEFAULT NULL, `nazwa_zadania` varchar(128) DEFAULT NULL, `oferenci_id` int(10) unsigned NOT NULL, `data_oferty` date NOT NULL, `forma` tinyint(1) NOT NULL, `typ` tinyint(1) NOT NULL DEFAULT '0', `data_zlozenia` date DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_oferty_zadania` (`id_zadania`), KEY `fk_oferty_1_idx` (`id_zadania`), KEY `FK_oferty_users` (`id_uzytkownika`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 27 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.11 Tabela – Oferty_dane Tabela jest rozszerzeniem tabeli oferty, zawiera dane wpisywane we wniosku w zakładce „2. Szczegółowy zakres”. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_dane` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `reprezentacja_oferentow` text, `krotka_charakterystyka` text NOT NULL, `opis_potrzeb` text NOT NULL, `opis_grup` text NOT NULL, `uzasadnienie_potrzeby` text, `informacja` text, `zakladane_cele` text NOT NULL, `miejsce_realizacji` tinytext NOT NULL, `opis_dzialan` text NOT NULL, `zakladane_rezultaty` text NOT NULL, PRIMARY KEY (`id`), KEY `FK_oferty_dane_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 28 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.12 Tabela – Oferty_harmonogram Tabela zawiera harmonogram wniosku, który jest ściśle powiązany i zależny od tabeli oferty_zakresy_realizacji. Rekordy w tabeli są wersjonowane, w zależności do której wersji oferty należą. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_harmonogram` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) DEFAULT NULL, `id_oferty_oferenci` int(11) DEFAULT NULL, `kolejnosc` tinyint(4) DEFAULT NULL, `dzialania` text NOT NULL, `data_start` date DEFAULT NULL, `data_stop` date DEFAULT NULL, `id_oferty_zakresy_realizacji` int(11) DEFAULT NULL, `skala_dzialan` varchar(32) NOT NULL, `wersja` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `fk_OFERTY_HARMONOGRAM_OFERTY1_idx` (`id_oferty`), KEY `fk_oferty_harmonogram_oferty_oferenci1_idx` (`id_oferty_oferenci`), KEY `oferty_harmonogram_id_oferty_zakresy_realizacji_foreign` (`id_oferty_zakresy_realizacji`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 29 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.13 Tabela – Oferty_inne_informacje Tabela zawiera dane zawarte w wniosku ofertowym w zakładce „6. Inne informacje”. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_inne_informacje` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `zasoby_kadrowe` text, `zasoby_rzeczowe` text, `doswiadczenie` text, `informacja` text, `uwagi` text, PRIMARY KEY (`id`), KEY `FK_oferty_inne_informacje_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 30 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.14 Tabela – Oferty_inne_zrodla_finansowe Tabela zawiera zdefiniowane inne źródła finansowe, zawarte we wniosku ofertowym. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_inne_zrodla_finansowe` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `nazwa_organu` varchar(100) NOT NULL, `kwota` decimal(8,2) NOT NULL, `informacja_rozpatrzenia` enum('tak','nie') NOT NULL, `termin` date DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK_oferty_inne_zrodla_finansowe_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 31 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.15 Tabela – Oferty_kosztorys Tabela zawiera dane zawarte w kosztorysie we wniosku ofertowym. Rekordy w tabeli są wersjonowane. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_kosztorysy` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL, `id_oferty_oferenci` int(11) NOT NULL, `id_oferty_zakresy_realizacji` int(11) DEFAULT NULL, `nazwa` varchar(255) DEFAULT NULL, `ilosc_jednostek` decimal(8,2) NOT NULL, `koszt_jednostkowy` decimal(8,2) NOT NULL, `rodzaj_miary` smallint(6) DEFAULT NULL, `koszt_calkowity` decimal(8,2) NOT NULL, `dotacja_wnioskowa` decimal(8,2) NOT NULL, `srodki_wlasne` decimal(8,2) NOT NULL, `koszt_pokrycia` decimal(8,2) NOT NULL, `rodzaj_kosztow` enum('merytoryczne','obslugi','inne') NOT NULL, `koszt_osobowy` tinyint(1) DEFAULT NULL, `wersja` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `fk_OFERTS_ESTIMATE_OFERTS1_idx` (`id_oferty`), KEY `fk_OFERTS_ESTIMATE_BIDDERS1_idx` (`id_oferty_oferenci`), KEY `FK_oferty_kosztorysy_oferty_zakresy_realizacji` (`id_oferty_zakresy_realizacji`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 32 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.16 Tabela – Oferty_oceny Tabela, do której dane wprowadzane są z poziomu JST (OAP) w momencie oceniania konkretnej oferty. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_oceny` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `oferty_id` int(11) NOT NULL, `user_id` int(11) NOT NULL, `ocena` decimal(5,2) NOT NULL, `opis` text COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `oferty_oceny_oferty_id_foreign` (`oferty_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 33 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.17 Tabela – Oferty_oferenci Tabela zawiera oferentów przypisanych do tworzonej oferty. W momencie tworzenia nowego wniosku ofertowego, dane są kopiowane do tej tabeli, z tabeli oferenci. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_oferenci` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `main` tinyint(1) NOT NULL DEFAULT '0', `nazwa` varchar(64) NOT NULL, `forma_prawna` enum('stowarzyszenie','fundacja','koscielna_osoba','koscielna_jednostka','spoldzielnia','inna') NOT NULL, `forma_prawna_inna` varchar(45) DEFAULT NULL, `krs` varchar(15) NOT NULL, `data_wpisu` date NOT NULL, `nip` varchar(13) NOT NULL, `regon` varchar(10) NOT NULL, `miejscowosc` varchar(32) NOT NULL, `ulica` varchar(32) NOT NULL, `dzielnica` varchar(32) DEFAULT NULL, `gmina` varchar(32) NOT NULL, `powiat` varchar(32) DEFAULT NULL, `wojewodztwo` varchar(32) NOT NULL, `kod_pocztowy` varchar(6) NOT NULL, `poczta` varchar(32) NOT NULL, `telefon` varchar(15) DEFAULT NULL, `fax` varchar(15) DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `www` varchar(128) DEFAULT NULL, `bank_konto` varchar(32) NOT NULL, `bank_nazwa` varchar(64) NOT NULL, Strona 34 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych `jednostka_organizacyjna` varchar(255) NOT NULL, `osoba_upowazniona` varchar(128) NOT NULL, `dzialalnosc_nieodplatna` text NOT NULL, `dzialalnosc_odplatna` text NOT NULL, `numer_wpisu` varchar(20) DEFAULT NULL, `przedmiot_dzialalnosci` text, `created_at` datetime DEFAULT NULL, `updated_at` datetime DEFAULT NULL, `typ` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `FK_oferty_oferenci_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 35 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.18 Tabela – Oferty_oferenci_reprezentanci Tabela zawiera zdefiniowanych reprezentantów dla danego oferenta występującego w ofercie wniosku ofertowego. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_oferenci_reprezentanci` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty_oferenci` int(11) NOT NULL, `nazwa_reprezentanta` varchar(64) NOT NULL, `telefon` varchar(20) DEFAULT NULL, `stanowisko` varchar(64) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_BIDDER_REPRESENTANT_BIDDER_idx` (`id_oferty_oferenci`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 36 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.19 Tabela – Oferty_oswiadczenia Tabela zawiera oświadczenia zawarte na końcu wniosku ofertowego ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_oswiadczenia` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL, `zakres_dzialalnosci` tinyint(1) DEFAULT NULL, `pobieranie_oplat` tinyint(1) DEFAULT NULL, `data_zwiazania` date DEFAULT NULL, `przetwarzanie_danych` tinyint(1) DEFAULT NULL, `zalega_oplacenie` tinyint(1) DEFAULT NULL, `zgodny_krs` tinyint(1) DEFAULT NULL, `wszystko_prawda` tinyint(1) DEFAULT NULL, PRIMARY KEY (`id`), KEY `oferty_oswiadczenia_id_oferty_foreign` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 37 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.20 Tabela – Oferty_parametry Tabela, w której z panelu JST (OAP) można wprowadzić powód odrzucenia / zwrotu do korekty oferty. W przypadku wybrania oferty do realizacji wprowadzane są tutaj informacje o dacie i numerze zawarcia umowy. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_parametry` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `oferty_id` int(11) NOT NULL, `umowa_numer` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, `umowa_data` date DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `przyznana_kwota` decimal(10,2) DEFAULT NULL, `uzasadnienie_odrzucenia` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `oferty_parametry_oferty_id_foreign` (`oferty_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 38 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.21 Tabela – Oferty_zakresy_realizacji Tabela zawiera działania definiowane we wniosku ofertowym w punkcie III.8. Działania te są automatycznie przepisywane do harmonogramu z możliwością edycji, jak również wykorzystane w kosztorysie. Rekordy są wersjonowane. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_zakresy_realizacji` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `nazwa` varchar(255) DEFAULT NULL, `opis` text, `typ` tinyint(1) NOT NULL DEFAULT '0', `rodzaj` enum('merytoryczne','obslugi','inne') DEFAULT NULL, `wersja` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `FK_oferty_dane_dzialania_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 39 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.22 Tabela – Oferty_zrodla_finansowe Tabela zawiera dane zawarte w zakładce „5. Źródła finansowe” we wniosku ofertowym. Rekordy są wersjonowane. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `oferty_zrodla_finansowe` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL DEFAULT '0', `wnioskowana_kwota` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_wlasne` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_ogolne` decimal(8,2) DEFAULT '0.00', `wplaty_oplaty` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_publiczne` decimal(8,2) DEFAULT '0.00', `pozostale` decimal(8,2) DEFAULT '0.00', `wklad_osobowy` decimal(8,2) NOT NULL DEFAULT '0.00', `ogolem` decimal(8,2) DEFAULT '0.00', `wersja` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), KEY `FK_oferty_zrodla_finansowe_oferty` (`id_oferty`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 40 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.23 Tabela – Pomoc W tabeli pomoc są zdefiniowane teksty pomocy, które są widoczne jeśli jest włączona pomoc przy wypełnianiu formularzy i zmieniają się po kliknięciu w dane pole. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `pomoc` ( `id` int(11) NOT NULL AUTO_INCREMENT, `typ` int(11) DEFAULT '2', `nazwa_pola` varchar(32) DEFAULT '0', `tresc` text, `model` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 41 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.24 Tabela – Settings Tabela, która zawiera główne ustawienia aplikacji np. nazwę Urzędu. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `settings` ( `name` varchar(32) COLLATE utf8_unicode_ci NOT NULL, `value` varchar(256) COLLATE utf8_unicode_ci NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 42 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.25 Tabela – Sprawozdania W tabeli są zapisywane nagłówki sprawozdań do realizowanych zadań, w przypadku, gdy wniosek zostanie zaakceptowany i przystępuje się do raportowania realizacji zadania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania` ( `id` int(11) NOT NULL AUTO_INCREMENT, `oferty_id` int(11) NOT NULL, `data_zlozenia` datetime NOT NULL, `typ` enum('czesciowe','koncowe') NOT NULL, `status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0 roboczy 1 zlozony', `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, `przyczyna_korekty` text, PRIMARY KEY (`id`), KEY `FK_sprawozdania_oferty` (`oferty_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 43 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.26 Tabela – Sprawozdania_faktury Tabela zawiera dokumenty rozliczeniowe zawarte w sprawozdaniu realizacji zadania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_faktury` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL, `numer_dokumentu` varchar(16) NOT NULL, `data_wystawienia` date DEFAULT NULL, `zalaczniki_id` int(11) NOT NULL DEFAULT '0', `wartosc` decimal(10,2) NOT NULL, PRIMARY KEY (`id`), KEY `FK_sprawozdania_faktury_sprawozdania` (`sprawozdania_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 44 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.27 Tabela – Sprawozdania_faktury_pozycje Tabela zawiera pozycje, które należą do wcześniej zdefiniowanych dokumentów w tabeli sprawozdania_faktury. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_faktury_pozycje` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `sprawozdania_faktury_id` int(11) NOT NULL, `kwota` decimal(8,2) NOT NULL, `dotacja` decimal(8,2) NOT NULL, `finanse_wlasne` decimal(8,2) NOT NULL, `numer_pozycji` varchar(16) COLLATE utf8_unicode_ci NOT NULL, `nazwa_kosztu` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `data_zaplaty` date DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 45 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.28 Tabela – Sprawozdania_finanse Tabela zawiera dane finansowe potrzebne do realizacji sprawozdania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_finanse` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL DEFAULT '0', `wnioskowana_kwota` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_wlasne` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_ogolne` decimal(8,2) DEFAULT '0.00', `wplaty_oplaty` decimal(8,2) DEFAULT '0.00', `srodki_finansowe_publiczne` decimal(8,2) DEFAULT '0.00', `pozostale` decimal(8,2) DEFAULT '0.00', `wklad_osobowy` decimal(8,2) NOT NULL DEFAULT '0.00', `ogolem` decimal(8,2) DEFAULT '0.00', `wnioskowana_kwota_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `srodki_finansowe_wlasne_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `srodki_finansowe_ogolne_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `wplaty_oplaty_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `srodki_finansowe_publiczne_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `pozostale_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `wklad_osobowy_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', `ogolem_calosc` decimal(8,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`), KEY `FK_sprawozdania_finanse_sprawozdania` (`sprawozdania_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 46 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.29 Tabela – Sprawozdania_inne Tabela zawiera inne dodatkowe pola występujące w sprawozdaniu realizacji zadania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_inne` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL, `uwagi_finanse` text NOT NULL, `informacja_przychody` text NOT NULL, `dodatkowe_informacje` text NOT NULL, PRIMARY KEY (`id`), KEY `FK_sprawozdania_inne_sprawozdania` (`sprawozdania_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 47 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.30 Tabela – Sprawozdania_koszty Tabela zawiera koszty występujące w sprawozdaniach. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_koszty` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL, `oferty_kosztorysy_id` int(11) NOT NULL, `koszt_calkowity` decimal(8,2) NOT NULL DEFAULT '0.00', `dotacja` decimal(8,2) NOT NULL DEFAULT '0.00', `srodki_wlasne` decimal(8,2) NOT NULL DEFAULT '0.00', `wklad_osobowy` decimal(8,2) NOT NULL DEFAULT '0.00', `typ` enum('merytoryczne','obslugi','inne') DEFAULT NULL, PRIMARY KEY (`id`), KEY `FK_sprawozdania_koszty_sprawozdania` (`sprawozdania_id`), KEY `FK_sprawozdania_koszty_oferty_kosztorysy` (`oferty_kosztorysy_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 48 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.31 Tabela - Sprawozdania_merytoryczne Tabela zawiera dodatkowe pola wypełnianie w czasie raportowania realizacji zadania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_merytoryczne` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL, `informacja` text NOT NULL, `wplyw_dofinansowania` text NOT NULL, `opis_rezultatow` text NOT NULL, `skala_dzialan` text NOT NULL, PRIMARY KEY (`id`), KEY `FK_sprawozdania_merytoryczne_sprawozdania` (`sprawozdania_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 49 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.32 Tabela - Sprawozdania_merytoryczne_dzialania Tabela zawiera dodatkowe pola wypełnianie w czasie raportowania realizacji zadania. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `sprawozdania_merytoryczne_dzialania` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sprawozdania_id` int(11) NOT NULL, `oferty_harmonogram_id` int(11) NOT NULL, `dzialania` text NOT NULL, `data_stop` date NOT NULL DEFAULT '2013-01-01', `data_start` date NOT NULL, PRIMARY KEY (`id`), KEY `FK_sprawozdania_merytoryczne_dzialania_sprawozdania` (`sprawozdania_id`), KEY `fk_sprawozdania_merytoryczne_dzialania_1_idx` (`oferty_harmonogram_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 50 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.33 Tabela – Statusy Tabela zawierająca zdefiniowane statusy, jakie mogą przyjmować oferty i sprawozdania związane z obiegiem ofert w systemie. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `statusy` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `nazwa` varchar(32) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 51 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.34 Tabela – Throttle Tabela zawiera nieudane próby logowania użytkowników w systemie eNGO oraz umożliwia tymczasowe blokowanie kont użytkowników. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `throttle` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL, `ip_address` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `attempts` int(11) NOT NULL DEFAULT '0', `suspended` tinyint(1) NOT NULL DEFAULT '0', `banned` tinyint(1) NOT NULL DEFAULT '0', `last_attempt_at` timestamp NULL DEFAULT NULL, `suspended_at` timestamp NULL DEFAULT NULL, `banned_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 52 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.35 Tabela – Users Tabela zawiera wszystkie konta użytkowników zdefiniowanych w systemie. Za pomocą tych kont użytkownicy logują się w systemie. Konta te są tworzone w momencie rejestracji użytkowników w systemie, po wypełnieniu stosownego formularza. Konto musi zostać aktywowane, informacja o tym, czy jest aktywne zawarta jest w polu activated. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `permissions` text COLLATE utf8_unicode_ci, `activated` tinyint(1) NOT NULL DEFAULT '0', `activation_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `activated_at` timestamp NULL DEFAULT NULL, `last_login` timestamp NULL DEFAULT NULL, `persist_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `reset_password_code` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `first_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `deleted_at` timestamp NULL DEFAULT NULL, `website` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `country` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `gravatar` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `oferenci_id` int(10) unsigned NOT NULL, `typ` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `users_email_unique` (`email`), KEY `fk_users_1_idx` (`oferenci_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 53 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.36 Tabela – Users_groups Definiuje powiązania użytkowników do grup użytkowników. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `users_groups` ( `user_id` int(10) unsigned NOT NULL, `group_id` int(10) unsigned NOT NULL, PRIMARY KEY (`user_id`,`group_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 54 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.37 Tabela – Wskaźniki Tabela zawiera definicję nazw wskaźników potrzebnych do obliczania społeczno – ekonomicznych wartości dodanych zadania publicznego. Określa także, czy dany wskaźnik jest bazow,y czy fakultatywny, a jeśli tak to do jakiego zakresu zadań należy. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `wskazniki` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(255) NOT NULL DEFAULT '0', `nazwa_klasy` varchar(4) NOT NULL DEFAULT '0', `opis` text NOT NULL, `typ` tinyint(1) NOT NULL, `id_zakres` int(11) DEFAULT NULL, `param1` tinytext, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 55 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.38 Tabela – Wskazniki_oferty_parametry Tabela zawiera zdefiniowane parametry dla konkretnych ofert, które są potrzebne do obliczenia wskaźników fakultatywnych. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `wskazniki_oferty_parametry` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_oferty` int(11) NOT NULL, `id_wskaznik` int(11) DEFAULT NULL, `wartosc` decimal(10,2) NOT NULL, `wartosc_raport` decimal(10,2) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 56 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.39 Tabela – Zadania Tabela zawiera zadania publiczne ogłoszone do realizacji przez JST (OAP). Zadania te są tworzone i zarządzane z poziomu JST (OAP). ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `zadania` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_zakres` int(11) NOT NULL, `id_zadania_edycje` int(11) NOT NULL, `tytul` varchar(256) DEFAULT NULL, `uwagi` text, `opis` text, `kwota` decimal(12,2) DEFAULT NULL, `data_start` date NOT NULL, `data_koniec` date NOT NULL, `stan` tinyint(1) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `typ_zadania` tinyint(1) unsigned zerofill DEFAULT '1' COMMENT '0 ramowe 1 sprecyzowane', `bip_url` varchar(128) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_zadania_1` (`id_zadania_edycje`), KEY `FK_zadania_zadania_zakres` (`id_zakres`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 57 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.40 Tabela – zadania_edycje Tabela zawiera zdefiniowane edycje konkursów ogłoszone przez JST (OAP). Są to tzw. kontenery na ogłaszane zadania. W ramach takiej edycji może być ogłaszanych nieskończenie wiele zadań. Każda taka edycja posiada termin zakończenia składania wniosków ofertowych w ramach edycji konkursu. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `zadania_edycje` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(128) COLLATE utf8_unicode_ci NOT NULL, `rok` int(11) NOT NULL, `data_zakonczenia` datetime NOT NULL, `publikacja` smallint(6) NOT NULL, `created_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `updated_at` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `status` tinyint(1) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 58 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.41 Tabela – Zadania_linki Zawiera listę adresów URL przypisanych do ogłoszonego zadania, które mogą być odnośnikami do innych ustaw, dokumentów. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `zadania_linki` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_zadania` int(11) DEFAULT NULL, `url` varchar(255) DEFAULT NULL, `tytul` varchar(128) DEFAULT NULL, PRIMARY KEY (`id`), KEY `fk_zadania_linki_1` (`id_zadania`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 59 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.42 Tabela – Zadania_zakres Tabela zawiera zdefiniowane zakresy zadań zgodne z Dz.U. 2003 nr 96 poz. 873. Ustawa pochodzi z dnia 24 kwietnia 2003 r. o działalności pożytku publicznego i o wolontariacie. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `zadania_zakres` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Strona 60 Opis techniczny aplikacji Generator eNGO z funkcją kalkulatora korzyści ekonomiczno-społecznych 6.43 Tabela – załączniki Tabela zawiera listę załączników dołączonych do wniosku ofertowego, jak skany dokumentów, potwierdzenia itp. Pliki te są fizycznie przetrzymywane w katalogu poza serwerem WWW. ---------------------------------------------------------------------------------CREATE TABLE IF NOT EXISTS `zalaczniki` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `id_zadania` int(11) DEFAULT NULL, `id_oferty` int(11) DEFAULT NULL, `id_uzytkownika` int(10) unsigned DEFAULT NULL, `doc_id` int(11) DEFAULT NULL, `nazwa` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL, `opis` text COLLATE utf8_unicode_ci, `filename` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, `extension` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, `size` int(11) DEFAULT NULL, `virtual` tinyint(1) NOT NULL DEFAULT '0', `typ` smallint(1) NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `zalaczniki_id_zadania_foreign` (`id_zadania`), KEY `zalaczniki_id_oferty_foreign` (`id_oferty`), KEY `zalaczniki_id_uzytkownika_foreign` (`id_uzytkownika`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Strona 61