[[
✎ pl:dydaktyka:ztb:2010:projekty:upr_krakow:start
]]
aiWiki
Pokaż stronę
Ostatnie zmiany
Indeks
Zaloguj
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
====== Oficjalna strona internetowa sekcji młodzieżowej Unii Polityki Realnej w Krakowie (t) ====== [[krzysztof.klag@gmail.com|Krzysztof Klag]], [[jelen.rafal@gmail.com|Rafał Jeleń]], [[michalw@student.agh.edu.pl|Michał Wawrzynek]] ==== Streszczenie ==== Projekt stanowi podstawę bazodanową dla projektu realizowanego z przedmiotu Technologie i Programowanie WWW. [[http://www.rafal.xtreemhost.com|Link do wersji roboczej serwisu]] ==== Sformułowanie zadania projektowego ==== Celem projektu jest wykonanie oficjalnej strony internetowej dla istniejącej partii politycznej. Nasz projekt to system CMS, który będzie umożliwiał łatwe i szybkie zarządzanie pojawiającymi się na stronie informacjami przez uprawnionego do tego redaktora. Oczywiście wszystkie informacje będą przechowywane w relacyjnej bazie danych. Nasz portal ma przede wszystkim realizować funkcję informacyjna dla osób zainteresowanych działalnością krakowskiego oddziału UPR. Celem portalu będzie przyciąganie ludzi, informowanie ich o istotnych wydarzeniach dotyczących partii, przedstawienie idei głoszonych przez UPR, stopniowe zdobywanie członków, sympatyków, a także elektoratu wyborczego. Strona internetowa ułatwiłaby na pewno organizowanie się sympatyków chcących uczestniczyć w różnych spotkaniach, prelekcjach, happeningach, itp. organizowanych przez oddział krakowski UPR. ==== Analiza stanu wyjściowego ==== Swoją stronę internetową posiada każda szanująca się partia polityczna. Istnieją też dziesiątki różnych stron oddziałów regionalnych czy młodzieżowych różnych partii. Oczywiście także Unia Polityki Realnej posiada swoją stronę główną, jak i kilka stron oddziałów regionalnych. Niestety zdarza się, że nie są one wykonane w sposób zbyt profesjonalny i wyglądają bardzo amatorsko. Czołowe polskie partie mogą przeznaczać ogromne środki na utrzymanie swoich stron przez co są one dość rozbudowane i wykonane w pełni profesjonalnie. Naszym celem jest stworzenie witryny na równie wysokim poziomie, zarówno merytorycznym jak i technicznym. Partie polityczne tworzą swoje strony zarówno po to, aby przyciągać nowych sympatyków i wyborców, jak i na bieżąco informować o działaniach i wydarzeniach wewnątrz partii swoich członków i sympatyków. Strony tego typu mają przede wszystkim charakter informacyjny, internauci szukają na nich programów wyborczych, informacji władzach partii, podejmowanych działaniach, akcjach, itp. ==== Analiza wymagań użytkownika (wstępna) ==== Nasz projekt to system CMS, który będzie umożliwiał łatwe i szybkie zarządzanie pojawiającymi się na stronie informacjami przez uprawnionego do tego redaktora. Oczywiście wszystkie informacje będą przechowywane w relacyjnej bazie danych. == Główne funkcjonalności (must): == - Portal działający w oparciu o napisanego przez nas CMS'a – nasze najważniejsze zadanie polega na napisaniu własnego systemu CMS, który umożliwi szybkie i łatwe zarządzanie informacjami pojawiającymi się na portalu. - Newsletter – jest to niezbędny element tego typu stron, użytkownicy będą mogli wpisać się na listę mailingową dzięki której będą otrzymywać mailem informacje dotyczące ważnych wydarzeń i spotkań. - Aktualności na pierwszej stronie – na głównej stronie portalu będzie znajdować się miejsce na umieszczanie przez redaktora istotnych wiadomości. - Dział publicystka – w menu znajdzie się pozycja o nazwie publicystyka, gdzie prezentowane będą felietony użytkowników, będzie także formularz do dodawania własnych felietonów. - Dział z polecanymi książkami – początkowo chcielibyśmy stworzyć w menu pozycję z listą książek, które konserwatywny-liberał przeczytać musi albo powinien. Konieczne będzie pogrupowanie książek w kategorie, powinny znaleźć się również krótkie opisy przy każdej pozycji. - Dział media z zarejestrowanymi występami SM UPR w mediach – kolejna ważna pozycja to dział w którym internauci będą mogli obejrzeć lub wysłuchać występów członków SM UPR w mediach. - Dział z informacjami o spotkaniach – najprawdopodobniej na głównej stronie serwisu, znajdzie się również sekcja z polecanymi spotkaniami, prelekcjami, happeningami i innymi wydarzeniami do których SM UPR będzie zachęcać. - Działy z podstawowymi informacjami o partii – niezbędnik każdej strony partyjnej czyli główne informacje o partii: statut, program, władze, dokumenty itp. - Dział z linkami do innych partii, organizacji, itp. - chcielibyśmy w estetyczny i uporządkowany sposób stworzyć bazę linków do współpracujących z UPR organizacjami (np. Koliber, Klub Austriackiej Szkoły Ekonomii) czy partiami. Znalazły by się tam również linki do blogów osób związanych UPR i do innych portali promujących idee wolnościowe. == Funkcjonalności dodatkowe (should): == - System komentarzy i ocen pod felietonami użytkowników – z czasem będziemy chcieli rozbudować dział publicystyczny o np. możliwość oceniania czy dodawania komentarzy pod felietonami, niektórzy użytkownicy będą mogli tam zdobyć również swoją stałą pozycję w menu - Forum – kolejny pomysł, który mógłby zostać wdrożony to forum na którym sympatycy mogliby dyskutować o sytuacji w partii, polityce, itp. - Rozbudowa działu z polecanymi książkami – możliwość dodawani własnych pozycji przez użytkowników, pisani recenzji, oceniania, komentowania, itp. == Wstępny projekt aplikacji == Serwis będzie projektowany w języku php z użyciem Zend Framework przy wykorzystaniu relacyjnej bazy danych MySQL. Przewidujemy następujące podzespoły: - Kontroller * Admin Kontroller – moduł administratora * Index Kontroller – przeglądanie zawartości strony * Profile Kontroller – wysyłanie propozycji aktualności, felietonów itp. * Editor Kontroller – akceptacja nadesłanych przez użytkownika tekstów, dodawanie własnych - Model * Aktualności * Publicystyka * Książki * Media * Informacje na temat spotkań * Informacje o partii * Baza linków == Role użytkowników == * admin – nieograniczone prawa, dodawanie, usuwanie, edycja tekstów * redaktor – akceptacja tekstów nadsyłanych przez użytkowników, dodawanie tekstów * zalogowany użytkownik - przeglądanie zawartości, propozycja tekstów * gość – przeglądanie zawartości ==== Określenie scenariuszy użycia ==== - Scenariusze dla gościa - Rejestracja w serwisie - Zapisanie się do newslettera - Przeglądanie treści serwisu * przeglądanie głównych działów serwisu: aktualności, książki, publicystyka, linki, o partii * możliwość oglądania multimediów - Przeszukiwanie treści wiadomości - Scenariusze dla zalogowanego użytkownika - Dostęp do serwisu * zalogowanie do systemu * przypomnienie hasła użytkownika - Dodawanie felietonów - Aktualizacja profilu * zmiana adresu email * zmiana hasła - Możliwość dodawania komentarzy * dodawanie komentarzy do aktualności * dodawanie komentarzy do felietonów * dodawanie komentarzy w dziale multimediów * dodawanie komentarzy w dziale książek - Scenariusze dla redaktora - Dodawanie tekstów * dodawanie własnych felietonów * dodawanie aktualności na pierwszej stronie * dodawanie informacji o spotkaniach * dodawanie opisów książek * dodawanie multimediów - Zatwierdzanie felietonów dodanych przez użytkowników - Moderowanie komentarzy - Tworzenie wiadomości do wysłania w newsletterze - Scenariusze dla administratora - Usuwanie użytkowników - Zarządzanie informacjami na stronie * edycja wiadomości i wpisów we wszystkich działach * usuwanie wiadomości i wpisów we wszystkich działach * dodawanie tekstów we wszystkich działach {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:use_case.png|}} ==== Identyfikacja funkcji ==== * logowanie i wylogowanie z serwisu * modyfikacja i usuwanie kont użytkowników * dodanie, modyfikacja i usuwanie aktualności na pierwszej stronie * dodanie, modyfikacja i usuwanie multimediów * dodanie, modyfikacja i usuwanie informacji o spotkaniach * dodanie, modyfikacja i usuwanie opisów książek * dodanie, modyfikacja i usuwanie linków oraz informacji o partii * dodanie, modyfikacja i usuwanie komentarzy pod wpisami * zapisywanie się i wysyłanie newslettera * dodawanie własnych felietonów przez użytkowników ==== Analiza hierarchii funkcji projektowanej aplikacji ==== {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:fhd.png|}} ==== Budowa i analiza diagramu przepływu danych ==== === DIAGRAM KONTEKSTOWY === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_kontekstowe.png|}} === DIAGRAM GŁÓWNY === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_glowny.png|}} === OBSŁUGA GOŚCIA === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_obsluga_goscia.png|}} === OBSŁUGA UŻYTKOWNIKA === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_obsluga_uzytkownika.png|}} === OBSŁUGA REDKATORA === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_obsluga_redaktora.png|}} === OBSŁUGA ADMINISTARTORA === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:dfd_obsluga_administratora.png|}} ==== Wybór encji (obiektów) i ich atrybutów ==== **AKTUALNOSCI** * id_aktualnosci INT not null (PK) * naglowek VARCHAR not null * zawartosc TEXT not null * data_publikacji DATE not null * godzina_publikacji TIME not null * autor INT not null (FK) **INFORMACJE** * id_informacji INT not null (PK) * typ VARCHAR * autor INT not null (FK) * zawartosc TEXT not null * data_modyfikacji DATE * godzina_modyfikacji TIME **KATEGORIE** * id_kategorii INT not null (PK) * nazwa VARCHAR not null * opis TEXT **KOMENTARZE** * id_komentarza INT not null (PK) * autor INT not null (FK) * zawartosc TEXT * data DATE * godzina TIME * id_obiektu INT not null (FK) * typ VARCHAR not null **KSIAZKI** * id_ksiazki INT not null (PK) * nazwa VARCHAR not null * opis TEXT * autor INT (FK) * kategoria INT (FK) **LINKI** * id_linku INT not null (PK) * autor INT not null (FK) * nazwa VARCHAR not null * opis TEXT * link VARCHAR not null * logo VARCHAR not null * data_dodania DATETIME not null **MEDIA** * id INT not null (PK) * link TEXT not null * nazwa VARCHAR * autor INT (FK) * data_dodania DATETIME not null **NEWSLETTER** * id INT not null (PK) * tytul VARCHAR not null * tresc TEXT not null * zawartosc TEXT not null * data_wyslania DATE not null * godzina_wyslania TIME not null * autor INT not null (FK) **SPOTKANIA** * id_spotkania INT not null (PK) * nazwa VARCHAR not null * opis TEXT * data_dodania DATETIME * autor INT (FK) **TEKSTY** * id_tekstu INT not null (PK) * naglowek VARCHAR not null * tresc TEXT not null * autor INT not null (FK) * zaakceptowano TINYINT not null * data_dodania DATETIME not null **UZYTKOWNICY** * id_uzytkownika INT not null (PK) * login VARCHAR not null * haslo VARCHAR not null * email VARCHAR not null * imie VARCHAR * nazwisko VARCHAR * rola VARCHAR not null * newsletter TINYINT not null ==== Projektowanie powiązań (relacji) pomiędzy encjami ==== {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:diagram_relacji.png|}} ==== Projekt diagramów STD (State Transition Diagram – diagramy przejść pomiędzy stanami) ==== === Diagram stanów dla użytkownika zalogowanego i gościa === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:std_user_gosc.png|}} === Diagram stanów dla redaktora i administratora === {{:pl:dydaktyka:ztb:2010:projekty:upr_krakow:std_redaktor_admin.png|}} ==== Projektowanie tabel, kluczy, kluczy obcych, powiązań między tabelami, indeksów w oparciu o zdefiniowany diagram ERD ==== <code sql> CREATE TABLE IF NOT EXISTS `aktualnosci` ( `id_aktualnosci` int(11) NOT NULL AUTO_INCREMENT, `naglowek` varchar(100) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `zawartosc` text CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `data_publikacji` date NOT NULL, `godzina_publikacji` time NOT NULL, `autor` int(11) NOT NULL, `zdjecie` mediumblob, PRIMARY KEY (`id_aktualnosci`), KEY `autor` (`autor`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=66 ; CREATE TABLE IF NOT EXISTS `informacje` ( `id_informacji` int(11) NOT NULL AUTO_INCREMENT, `typ` varchar(50) CHARACTER SET utf8 COLLATE utf8_polish_ci DEFAULT NULL, `autor` int(11) NOT NULL, `zawartosc` text CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `data_modyfikacji` date DEFAULT NULL, `godzina_modyfikacji` time DEFAULT NULL, PRIMARY KEY (`id_informacji`), KEY `autor` (`autor`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ; CREATE TABLE IF NOT EXISTS `kategorie` ( `id_kategorii` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(50) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `opis` text CHARACTER SET utf8 COLLATE utf8_polish_ci, `autor` varchar(100) DEFAULT NULL, PRIMARY KEY (`id_kategorii`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ; CREATE TABLE IF NOT EXISTS `komentarze` ( `id_komentarza` int(11) NOT NULL AUTO_INCREMENT, `autor` int(11) NOT NULL, `zawartosc` text CHARACTER SET utf8 COLLATE utf8_polish_ci, `data` date DEFAULT NULL, `godzina` time DEFAULT NULL, `id_obiektu` int(11) NOT NULL, `typ` varchar(50) NOT NULL, PRIMARY KEY (`id_komentarza`), KEY `autor` (`autor`), KEY `id_obiektu` (`id_obiektu`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ; CREATE TABLE IF NOT EXISTS `komentarz_obiekt` ( `id_komentarza` int(11) NOT NULL, `id_obiektu` int(11) NOT NULL, `typ` varchar(20) NOT NULL, PRIMARY KEY (`id_komentarza`,`id_obiektu`), KEY `id_obiektu` (`id_obiektu`), KEY `typ` (`typ`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `ksiazki` ( `id_ksiazki` int(11) NOT NULL AUTO_INCREMENT, `nazwa` varchar(50) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, `opis` text CHARACTER SET utf8 COLLATE utf8_polish_ci, `autor` int(11) DEFAULT NULL, `kategoria` int(11) DEFAULT NULL, PRIMARY KEY (`id_ksiazki`), KEY `autor` (`autor`), KEY `kategoria` (`kategoria`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ; </code> ==== Analiza zależności funkcyjnych i normalizacja tabel ==== ==== Projektowanie operacji na danych ==== ==== Zdefiniowanie interfejsów do prezentacji, edycji i obsługi danych ==== ==== Zdefiniowanie panelu sterowania aplikacji ==== ==== Opracowanie doświadczeń wynikających z realizacji projektu ====
pl/dydaktyka/ztb/2010/projekty/upr_krakow/start.1277731697.txt.gz
· ostatnio zmienione: 2019/06/27 15:56 (edycja zewnętrzna)
Pokaż stronę
Poprzednie wersje
Menadżer multimediów
Do góry