To jest stara wersja strony!
Strona projektu thankswithbeer.com (t)
Streszczenie
Projekt stanowi podstawę bazodanową dla projektu realizowanego z przedmiotu Technologie i Programowanie WWW.
Celem projektu jest stworzenie serwisu, który umożliwiałby podziękowanie jego użytkownikowi piwem. Wielu internautów poszukuje w sieci pomocy, rozwiązania problemów za pośrednictwem forów czy blogów. Po uzyskaniu przydatnej odpowiedzi nasuwa się często potrzeba odwdzięczenia się danemu użytkownikowi w innej formie niż tekstowa. W życiu codziennym taką formą najczęściej jest postawienie piwa, więc dlaczego nie przenieść tego zwyczaju w sferę Internetu?
Użytkownik zarejestrowany w serwisie będzie posiadał swój profil, zawierający między innymi informacje o ulubionych gatunkach piwa. Podziękowanie będzie miało formę podwyższenia 'stanu zapiwienia', który w wizualnej formie może uatrakcyjniać np. podpis na forum. Dzięki temu dany użytkownik będzie łatwo identyfikowany jako osoba, która chętnie udziela pomocy, posiada wiedzę z pewnej dziedziny, co stanowi oznakę prestiżu w społeczności internetowej.
Wykorzystanie informacji z branży piwnej stwarza potencjalne możliwości zarobku związane z reklamą producentów napojów alkoholowych i ich produktów. Ponadto serwis może być sponsorowany przez firmy z branży zainteresowane współpracą.
Analiza stanu wyjściowego
Obecnie nie ma podobnych rozwiązań umożliwiających wyrażenie podziękowania za pomoc. Istnieją pluginy do darmowych forów internetowych (phpBB, invisionPowerBoard), które pozwalają na przyznanie tzw. „pomuków” dla użytkownika. Punkty te pokazują ile razy dany użytkownik okazał się pomocny. Funkcjonują jednak tylko w obrębie danego forum i są widoczne jedynie dla zarejestrowanych na nim osób, a więc wąskiej grupy Internautów. Nie ma uniwersalnego systemu punktacji, który pozwalałby na zebranie punktów z wielu serwisów i przedstawienie ich w przystępnej formie. Ponadto punkty nie stanowią atrakcyjnej formy podziękowania i w zasadzie pozostają mało zauważalne.
Analiza wymagań użytkownika
Serwis thankswithbeer.com będzie działał na zasadzie systemu z obsługą kont użytkowników - 'profilów piwoszy'. Ponadto będzie zawierał bibliotekę gatunków piwa na bieżąco uzupełnianą przez użytkowników.
Główne funkcjonalności (Must have):
wielojęzyczność - serwis powinien posiadać kilka wersji językowych, na początek polską i angielską
możliwość dodawania i edycji biblioteki piwa - funkcjonalność powinna pozwalać na dodanie opisu produktu, zdjęcia i ceny oraz edycję tych danych
sugerowanie wpisów w bibliotece piwa - każdy użytkownik może zasugerować nowe lub uzupełnić opis / zdjęcia istniejącego piwa
moderacja - specjalne uprawnienie dla użytkownika, które będzie umożliwiało akceptowanie bądź nie sugerowanych wpisów w bibliotece piwa
zakładanie profilu piwosza - powinno pozwalać na wprowadzenie danych identyfikacyjnych (loginu i hasła, zdjęcia) oraz określenie lubianych i nielubianych gatunków piwa
możliwość generowania elementu graficznego przedstawiającego aktualny 'stan zapiwienia' do osadzania w podpisach na forach, stopkach blogów itp.
unikalny link do profilu piwosza, służący do integracji z popularnymi serwisami społecznościowymi - np. facebook, wykop.pl, grono.net, nasza-klasa.pl
Dodatkowe funkcjonalności (Could have):
polecanie piw - użytkownicy mogą polecać sobie nawzajem produkty znajdujące się w bibliotece piwa na zasadzie wysyłania wiadomości z odnośnikiem do opisu
sugerowanie piw innych piwoszy - system może generować listę sugerowanych produktów dla użytkownika na podstawie podobieństw z profilami innych użytkowników
stawianie „mniej wirtualnego” piwa - wpłaty na konto PayPal użytkownika kwot pozwalających na zakup wybranego produktu z biblioteki piwa, % z transakcji dla portalu
Moduły:
użytkownicy
administracja
zarządzanie użytkownikami
zarządzanie grupami i uprawnieniami
zarządzanie biblioteką piw
biblioteka piw
przeglądanie zdjęć i opisów wpisów
wyszukiwarka
poprawianie i sugerowanie tłumaczeń, dodawanie nowych obrazków do galerii piw
Określenie scenariuszy użycia
Podziękuj piwem
Nazwa | Podziękuj piwem |
Twórca | Michał Paszko |
Poziom ważności | Średni |
Typ przypadku użycia | Ogólny |
Aktorzy | Autor wpisu, Adresat wpisu |
Krótki opis | Podziekowanie wirtualnym piwem za pozytywny wpis na serwisie internetowym. |
Warunki wstępne | Autor wpisu musi posiadac aktywne konto w serwisie thankswithbeer.com oraz dodac link prowadzacy do jego profilu - a tym samym umozliwiajacy podziekowanie - na serwisie zawierajacym wpis. |
Warunki końcowe | Ponizej wpisu autora umieszcza sie uprzednio wybrane wirtualne piwo oraz opcjonalny komentarz osoby dziekujacej. Dodatkowo uaktualniaja sie prywatne statystyki autora wpisu (oraz adresata wpisu, jesli posiada aktywne konto) w serwisie thankswithbeer.com. |
Główny przepływ zdarzeń | 1. Czytelnik (adresat) wpisu postanawia podziekowac autorowi wirtualnym piwem. 2. Po kliknieciu na link z podziekowaniem adresat jest przekierowywany na strone profilu autora wpisu w serwisie thankswithbeer.com. 3. Adresat wpisu wybiera rodzaj oraz ilosc wirtualnego piwa, którym chce obdarowac autora wpisu. 4. Statystyki autora wpisu zostaja zaktualizowane w serwisie thankswithbeer.com. |
Alternatywne przepływy zdarzeń | 2a. Adresat wpisu zakłada konto w serwisie thankswithbeer.com 2b. Adresat wpisu - jesli posiada aktywne konto w serwisie thankswithbeer.com - loguje sie do serwisu. 3a. Adresat wpisu dodaje komentarz podziekowania. 4a. Statystyki adresata wpisu - jesli posiada aktywne konto w serwisie thankswithbeer.com zostaja zaktualizowane. |
Identyfikacja funkcji
Logowanie/wylogowywanie z serwisu
Dodanie/usunięcie/modyfikacja konta użytkownika
Dodanie/usunięcie/modyfikacja informacji o piwach oraz browarach
Wybór preferowanych oraz nie preferowanych piw przez użytkownika
Modyfikacja stanu zapiwienia użytkownika
Generowanie elementu graficznego przedstawiającego stan zapiwienia
Moderacja (uprawnienie dla użytkownika) wpisów w bibliotece piwa
Stworzenie unikalnego linku do profilu piwosza
*Polecanie piw innym użytkownikom
*Sugerowanie piw innych piwoszy na podstawie statystyk użytkowników
*Stawianie mniej wirtualnego piwa w postaci wpłat na konto PayPal
Backup bazy danych
* - funkcjonalności o mniejszym priorytecie
Analiza hierarchii funkcji projektowanej aplikacji
FHD - Functional Hierarchy Diagram
Budowa i analiza diagramu przepływu danych
Wybór encji (obiektów) i ich atrybutów
USER
pola_standardowe_django_userów
lubiane_piwa (MtM → BEER)
nielubiane_piwa (MtM → BEER)
group (FK, GROUP)
GROUP
name* (VARCHAR 150)
desc* (TEXT)
perms (MtM, PERMS)
PERMS
name (VARCHAR 150)
desc (TEXT)
value (boolean)
BEER
name (VARCHAR(150))
desc* (TEXT)
status* (boolean, czy piwo zaakceptowane w danym języku czy nie)
brewery (FK, BREWERY)
price_eur (Float(10)) - cena za 0,5
gallery (FK, GALLERY) lub relacja OneToOne?
BREWERY
name (VARCHAR 150)
desc* (TEXT)
status* (boolean, czy browar zaakceptowane w danym języku czy nie)
brewery_owner (FK, BREWERY_OWNER)
BREWERY_OWNER
BEERING
who (FK, USER, null=True)
whom (FK, USER)
beer (FK, BEER)
size (ENUM(0.3;0,5;0,7;1))
referrer (VARCHAR 255, NULL=True)
comment (VARCHAR 160, NULL=True)
timestamp (datetime lub unix_timestamp)
ip (VARCHAR(15))
GALLERY
name (VARCHAR 150)
desc (TEXT)
IMAGE
MtM = many to many
FK = Foreign Key
*=pola wielojęzykowe
Projektowanie powiązań (relacji) pomiędzy encjami
Projekt diagramów STD