1 Raport z przebiegu projektuAlleBay 1.0 Raport z przebiegu projektu
2 Agenda Wprowadzenie do projektu Zespół Organizacja pracyOpis funkcjonalności Podsumowanie
3 Wprowadzenie do projektuCelem projektu jest przygotowanie kompletnego serwisu, z funkcjonalnością kupującego, sprzedającego, administratora, billingu itp. wzorując się na istniejących serwisach typu eBay czy Allegro.
4 Wprowadzenie do projektuUzgodnienia z zamawiającym doprowadziły do ustalenia funkcjonalności aplikacji. Interfejs użytkownika (wygląd portalu) nie jest częścią projektu w wersji 1.0. W skład projektu wchodzą jedynie ustalone funkcjonalności.
5 Wprowadzenie do projektuTechnologia: Język: GWT-EXT Baza danych: MySQL IDE: Eclipse
6 Zespół Skład zespołu: Adamczyk Joanna Gałązka PrzemysławLisiecki Janusz Papciak Marcin Słowik Adrian Świeczkowski Grzegorz
7 Zespół Synergia pracy zespołowej - zespół M. Belbina ImplementatorEwaluator = Krytyczny Sędzia (ME) Kreator = Innowator (PL) Dusza Zespołu (TW) Perfekcjonista = Konsekwentny Realizator (CF) Analityk Poszukiwacz (RI), Koordynator (CO) Lokomotywa (SH) TADEUSZ GOLONKA (Microsoft Regional Director in Poland) – 50 spotkanie KGD.NET
8 Zespół TADEUSZ GOLONKA (Microsoft Regional Director in Poland) – 50 spotkanie KGD.NET
9 Zespół Skład zespołu: Adamczyk Joanna TW, IMPGałązka Przemysław CF, PL Lisiecki Janusz IMP Papciak Marcin RI Słowik Adrian ME Świeczkowski Grzegorz SH, CO
10 Organizacja pracy Tworząc projekt opieraliśmy się na SCRUMieNarzędzia pracy grupowej (Assembla): Repozytorium SVN Agile Planner Tickets Burndown Chart Scrum reports Messages Planning Poker
11 Organizacja pracy i opis funkcjonalnościZadanie Wycena Osoba wykonująca Status Zaplanowany termin Zaprojektowanie i uruchomienie bazy danych 20 87 Słowik Adrian Gotowe Zaprojektowanie i implementacja silnika aplikacji Lisiecki Janusz Test Implementacja rejestracji użytkownika 8 Adamczyk Joanna Implementacja tworzenia nowej aukcji 13 Gałązka Przemysław Implementacja licytacji Świeczkowski Grzegorz Implementacja zakończenia aukcji przez wystawiającego Pociask Elżbieta Implementacja przeglądania skategoryzowanej listy aukcji 5 Papciak Marcin Implementacja podglądu wybranej aukcji 60% Implementacja wystawiania komentarzy 40 70% Implementacja zarządzania uprawnieniami Implementacja edycji własnych danych przez użytkownika 3 Implementacja listy obserwowanych aukcji Implementacja administracyjnego podglądu listy aukcji 50% Implementacja kontroli kont użytkowników Implementacja podglądu profilu użytkownika Implementacja czarnej listy Automatyczne zamykanie aukcji po upływie zadanego czasu
12 Baza danych Wymagania: Rozwiązanie: MySQL na silniku InnoDBTabele powinny zapewniać szybką obsługę zadanych funkcjonalności Rozwój funkcjonalności aplikacji nie powinien znacząco zmieniać struktury bazy danych Baza danych powinna obsługiwać klucze obce oraz automatycznie zapewniać danych Rozwiązanie: MySQL na silniku InnoDB
13 Baza danych Cechy struktury BD:Encje odzwierciedlają obiekty w systemie Możliwość wdrożenia bazy w Polsce – spełnienie wymagań GIODO Ochrona haseł użytkowników poprzez algorytm „solenia” sum kontrolnych haseł
14 Panel informacji o użytkownikuWymagania: Stworzenie kontrolera serwującego dane o użytkowniku Rozwiązanie: Prosty panel zawierający informacje o numerze ID, nazwie oraz adresie użytkownika.
15 Logowanie użytkownikaWymagania dla funkcjonalności: Formularz do logowania Obsługa mechanizmu sesji
16 Logowanie użytkownikaEtapy implementacji: Stworzenie interfejsu użytkownika Definicja funkcji do komunikacji z bazą danych Utworzenie sesji użytkownika Wysłanie danych o użytkowniku na klienta
17 System komentarzy Wymagania dla funkcjonalności:Możliwość dodawania opinii o kontrachencie po zakończonej transakcji Przeglądanie wystawionych opinii Przeglądanie opinii wystawionych przez kontrachentów.
18 System komentarzy Etapy implementacji:Stworzenie interfejsu pozwalającego na przeglądanie komentarzy, wybór transakcji i użytkownika do skomentowania, stworzenie interfejsu do dodania nowego komentarza. Obsługa dodawania/wylistowania komentarzy po stronie serwera (odpowiednie zapytania SQL)
19 System komentarzy Możliwość rozbudowy:Informowanie użytkownika drogą mailową o dodanym komentarzu Przeglądanie opinii na temat innych użytkowników
20 Wprowadzenie teamu do technologiiPrzygotowanie tutoriala na temat GWT dla pozostałych członków teamu: Szybszy start projektu Wylistowanie ważniejszych kwestii na temat technologii
21 Rejestracja użytkownikaWymagania dla funkcjonalności: Formularz rejestracyjny Walidacja pól formularza (po stronie klienta i serwera) Utworzenie nowego użytkownika w bazie danych
22 Rejestracja użytkownikaEtapy implementacji: Stworzenie interfejsu użytkownika Walidacja po stronie klienta (np. hasło == powtórzenie hasła?) Definicja funkcji rejestrującej (po stronie serwera) Walidacja po stronie serwera (czy dany użytkownik istnieje w bazie?) Dodanie nowego użytkownika
23 Rejestracja użytkownikaUsprawnienia dla funkcjonalności: Wykorzystanie md5 salt Automatyczne logowanie użytkownika po rejestracji Potwierdzenie rejestracji (np. poprzez wiadomość )
24 Czarna lista Wymagania dla funkcjonalności:Możliwość dodawania/usuwania z czarnej listy przez zalogowanego użytkownika Blokowanie możliwości uczestniczenia w aukcji Poinformowanie użytkownika a tym, że znalazł się on na czarnej liście
25 Czarna lista Etapy implementacji:Dodanie warunku sprawdzającego obecność na czarnej liście, podczas licytowania Stworzenie interfejsu pozwalającego na wybór użytkownika, który ma zostać umieszczony na liście lub z niej usunięty Obsługa dodawania/usuwania po stronie serwera (odpowiednie zapytania SQL)
26 Czarna lista Problemy podczas implementacji:Informowanie użytkownika: drogą mailową | stworzenie sekcji ‘komunikaty’ – rzeczywiste koszty mogą przekraczać szacowane Wyświetlanie informacji z dwu różnych tabel, z możliwością manipulacji na danych
27 Tworzenie aukcji Etapy implementacji:Stworzenie komponentów formularza Kategorie wczytywane z bazy danych Widget wyboru daty i czasu Wprowadzanie opisu aukcji w trybie RichCient lub HTML source
28 Tworzenie aukcji Walidacja pól Zapis aukcji do bazyData zakończenia aukcji Podstawowa walidacja pozostałych pól Zapis aukcji do bazy
29 Tworzenie aukcji Usprawnienie komunikacji:Rozwiniecie asynchronicznego serwisu RPC o logowanie – LoggingAsyncHandler Ujednolicenie tworzenia proxy dla zdalnego wywolywania metod – ServerProxy.java
30 Automatyczne zamykanie aukcji po upływie czasuWymagania dla funkcjonalności: Klasa wykonująca zadnia okresowo Stworzenie uniwersalnego interfejsu Możliwość opóźnienia startu zdania Możliwość wyłączenia zadania Funkcja abstrakcyjna update();
31 Edycja własnych danychCechy: Wykorzystanie komponentu Window Wybór danych do edycji Kontrola poprawności pól Re-Type Uwagi Brak hashowania hasła po stronie klienta
32 Reaktywacja i hosting projektuNowe Layouty Przebudowa głównego kontenera paneli Nowe CSS Nowy index.html Maven Jboss i Jetty
33 Licytacja Zarejestrowany użytkownik może licytować w istniejącej aukcji podając proponowaną cenę.
34 Licytacja Etapy implementacji:Stworzenie komponentów interfejsu użytkownika wraz niezbędnymi metodami Implementacja w/w Walidacja aukcji Walidacja użytkownika Walidacja wartości
35 Ręczne kończenie aukcji przez wystawiającego.Wystawiający może zakończyć aukcję w aktualnym stanie w dowolnym momencie. W przypadku wystąpienia licytujących aktualnie wygrywający zostaje zwycięzcą aukcji.
36 Ręczne kończenie aukcji przez wystawiającego.Etapy implementacji: Dodanie przycisku na panelu aukcji Walidacja użytkownika Implementacja metody zamykania po stronie klienta i serwera Metoda wykorzystywana również przez automat!
37 Zarządzanie uprawnieniami administracyjnymiAdministrator może nadawać i odbierać uprawnienia administracyjne innym użytkownikom.
38 Zarządzanie uprawnieniami administracyjnymiEtapy implementacji: Przygotowanie panelu do wyświetlania listy użytkowników Obsługa przycisków nadawania oraz odbierania uprawnień Walidacja użytkownika
39 Lista obserwowanych aukcjiZarejestrowany użytkownik może dodać/usunąć aukcję na/z listy obserwowanych, aby szybko odnaleźć interesujące go aukcje.
40 Lista obserwowanych aukcjiEtapy implementacji: Utworzenie panelu do wyświetlania użytkowników Metody odczytu i zapisu danych po stronie klienta i serwera Weryfikacja użytkownika
41 Kontrola kont użytkownikówAdministrator może usuwać, blokować oraz odblokowywać konta innych użytkowników.
42 Kontrola kont użytkownikówEtapy implementacji: Przygotowanie panelu do wyświetlania użytkowników Metody odczytu i zapisu danych po stronie klienta i serwera Weryfikacja użytkownika
43 Podsumowanie Wykonano ponad 90% planu.Projekt ma opóźnienie z następujących powodów: Zmniejszenie zespołu Wystąpienie błędów technologicznych