Serwis do organizowania spotkań¶
Gdy zachodzi potrzeba organizacji seminarium, zebrania lub narady. Trzeba wszystkich uczestników o tym powiadomić, a później śledzić ich odpowiedzi - czy aby przyjdą czy nie.
Wymagania funkcjonalne¶
Pomysł jest prosty - stworzony serwis powinien pozwalać na:
Definiowanie zebrań/seminariów
Możliwość wysłania zaproszeń na spotkanie mailem
Śledzenie odpowiedzi i potwierdzeń przybycia
Każde wydarzenie powinno być widoczne na mapce wraz z dokładnym adresem i terminem oraz krótkim opisem
Łatwe definiowane listy osób (automatyczne rozpoznawanie emaila, imienia, itp.) tak, żeby wejście „Alicja Paderewska ala@emptyhost.pl” było poprawnie rozpoznane
Możliwość importu danych osób z plików VCF (VCard) i CSV (np. z Gmaila) lub innych kont pocztowych
Jeżeli podczas spotkania planowany jest poczęstunek, to poszczególne osoby powinny mieć możliwość zapisywania się na określone grupy dań np. pizze wegetariańską.
System powinien mieć możliwość definiowania eventów cyklicznych
System powinien mieć możliwość definiowania grup do których będą później rozsyłane spersonalizowane wiadomości o jakimś wydarzeniu - inaczej się zaprasza na to samo spotkanie kolegów z liceum, a inaczej nauczycieli z tejże szkoły
Powinien zostać stworzony zestaw znaczników np
$(FIRST_NAME)
- zamienianych na odpowiednie wartości pozwalając spersonalizować wiadomościCześć Tomek! Chciałbym Cię zaprosić na ... całe wydarzenie odbędzie się 4 lipca w ... Na miejscu przewidywany jest poczęstunek, jeśli jesteś chętny na udział w tym spotkaniu proszę kliknij poniższy link http://imprezowywhatever.pl/invite/confirm/rdq2e1 pozdrawiam, Tomek.
Odpowiedź na takie zaproszenie powinna być następująca:
Tak - będę,
Nie będzie mnie,
Przypomnij mi później o tym na X dni przed wydarzeniem (domyślnie 3 dni)
Jeśli zaproszenie było zaakceptowane na więcej niż 5 dni przed jego terminem, powinien być wysyłany mailing przypominający o wydarzeniu np 2 dni przed
Możliwość ściągnięcia wydarzenia w formacie iCal + eksport do Remember The Milk + eksport do Kalendarza Google
Możliwość brandingu serwisu
Każdy z listów powinien mieć stopkę «Nie chce być więcej powiadamiany o wydarzeniach organizowanych przez tego użytkownika», przy czym taki user dostaje info, że osoba już nie jest zainteresowana tego typu eventami.
Wymagania niefunkcjonalne¶
Serwis powinien być napisany możliwie jak najprościej
Całością powinien mieć możliwość zarządzania pojedynczy administrator - brak innych użytkowników w systemie
Dobrze by było gdyby aplikacja nie miała potrzeby korzystania z bazy danych SQL - jeżeli już jest to wymagane niech to będzie baza plikowa np SQLite
Jeżeli serwis nie wymaga bazy wszystkie informacje powinny być przechowywane w plikach XML
Możliwość definiowania zewnętrznych kont pocztowych do wysyłania informacji o wydarzeniach (buzz words: SSL, LOGIN, POP before SMTP)
Wysyłanie mailingu powinno być realizowane asynchronicznie - bo to jednak trochę może potrwać …
Prosta instalacja, patrz Wordpress - wrzucenie plików po ftp oraz edycja jednego pliku konfiguracyjnego - brak kreatorów! Koniecznie powinien być dołączony przykładowy plik konfiguracyjny, albo dwa.
Narzędzia i technologie jakich ja bym użył¶
PHP
XHTML
CSS
XML
Ewentualnie mod_rewrite - ale lepiej nie ;)
Jeżeli baza danych to SQLite3 oraz PDO w PHP
Swoją drogą tak patrząc na te wymagania, uważam że przy odpowiednim zacięciu i chęciach możliwe było by napisanie tego projektu w 4 dni (możliwie, że zbyt optymistycznie jestem nastawiony). Niby coś takiego jest napisane, ale Maciej Swoboda twierdzi, że całość jest niedopracowana i trochę jest to niezgodne z moimi pomysłami ;).
Niemniej jednak, na pewno przy tworzeniu takiego systemu warto zainteresować się meeterem.
ps: Jakby tu wpadła ekipa meetera - to dajcie znać jak wypuścicie projekt jako OpenSource (fajna by była licencja BSD) ;).