Arkadiusz Kasperski 102633 [email protected]
Radosław Paluszak 102614 [email protected]
Aplikacja jest ściśle WEBowa. Pozwala na przeprowadzenie konsultacji lekarskich on-line. Prócz przeglądarki w jednej z aktualnych wersji (załóżmy okolice FF 20+, Chrome 23+, Opera 12+, IE 9+) z włączoną obsługą JavaScript, nie ma żadnych dodatkowych wymagań. Niestety wersja aplikacji nad którą pracujemy nie przewiduje możliwości uruchamiania z poziomu telefonu komórkowego (za małe możliwości obsługi JS). Wyjście jakie jednak przygotowujemy będzie miało potencjalną możliwość uruchomienia napisania aplikacji klienckiej w wersji na iPhone lub Androida.
Przykład użycia
Zespół kilku (np. 3) onkologów, którzy stacjonują w niezależnych ośrodkach badawczych (np. Poznań, Cambridge, Sydney) wymaga konsultacji bardzo skomplikowanego przypadku potworniaka. Logują się do aplikacji, wybierają pokój chroniony hasłem. Każdy z nich ma możliwość użycia tekstowego czatu, jaki jest wbudowany w naszą aplikację. Dodatkowo, każdy z nich może uploadować zdjęcie w formacie JPEG (max 1600x1600) i oznaczyć na nim elementy, które aktualnie omawia. Historia czatu i zdjęcia zapisywane są w bazie danych, co umożliwia powrót do zapisków z konsultacji, jak i całej konsultacji w przyszłości.
- Pełna integracja frameworka z ORMem
- Rozwiązanie problemu połączenia Zend Framework 2 z Doctrine 2.
- Prawdopodobnie wykorzystamy gotowe i zalecane rozwiązania.
- Stworzenie schematu bazy danych MySQL (MySQL Workbench)
- Utworzenie szkieletu aplikacji Odpowiedni podział zgodny z wymuszoną architekturą MVC. Wygenerowane modele dla Doctrine oraz przygotowane kontrolery, akcje i widoki
- Integracja ZF z Pusherem oraz "żywy" przykład działania tego połączenia
- Możliwość logowania - autoryzacja do "pokoi" konferencyjnych
- Zalążek czatu Formularze, wysyłanie wiadomości, jeszcze prawdopodobnie bez możliwości ich odbierania.
- Działający czat Wysyłanie swoich wypowiedzi do silnika osadzonego na serwerze HTTP. Odbieranie wiadomości innych uczestników w czasie rzeczywistym. Możliwość swobodnej rozmowy tekstowej.
- Implementacja możliwości opisu zdjęcia/grafiki Integracja gotowego lub dopasowanego do własnych potrzeb modułu jQuery, który będzie umożliwiać oznaczanie odpowiednich "współrzędnych" na obszarze obrazka i przesyłanie ich do wewnątrz aplikacji
- Możliwość zapisu konferencji do formatu HTML/XML
- Możliwość odczytu archiwalnych konferencji
Rozwiązanie oparte w pełni na module Pusher (www.pusher.com), który umożliwia komunikację w czasie rzeczywistym. Prócz tego silnik sklepu działa na wydajnym frameworku połączonym z ORMem Doctrine, który sprawia, że aplikacja jest niezależna od bazy danych, na której pracuje. GUI wzbogacone jest za pomocą HTML5, CSS oraz JavaScript (szczególnie jQuery). Autoryzacja odbywa się za pomocą loginu i hasła, które nadawane są przez administratora aplikacji.
Radek:
- ZF (silnik i inne "bebechy" :P)
- Doctrine
- jQuery i opracowanie komunikacji po stronie klienta
- integracja z Pusherem
- HTML, CSS (rzeźbienie)
- GUI po stronie klienta
- testy jednostkowe
Arek:
- HTML, CSS (rzeźbienie)
- GUI po stronie klienta
- testy jednostkowe
- PHP 5 (Apache2, NetBeans)
- Zend Framework 2
- Doctrine 2 (MySQL)
- AJAX
- JSON
- JS
- jQuery
- Pusher
- Wzorzec projektowy MVC
- Integracja Doctrine z ZF
- Rozwiązanie problemu czasu rzeczywistego
- Rozwiązanie oznaczania fragmentów zdjęcia w jQuery
- AJAX jako alternatywa dla połączenia przez Pusher (wąskie gardło w ilości żądań HTTP)
- Testy jednostkowe
- Manipulacja, oznaczanie i opisywanie grafik
- Generalnie przepisałem Chatt v1 na FZ2, Doctrine2 i Pushera oraz dorobiłem panel administracyjny