Krzysztof Wesołowski Programowanie, elektronika, automatyka – doświadczenia i projekty

2lut/10

System sprzedaży biletów na Bal Elektryka 2010

W okresie grudnia uczyłem się trochę Symfony (akurat było to 1.4.1 i Doctrine). Wynikiem i powodem zabawy był system sprzedaży biletów na tegoroczny Bal Elektryka.

Główną inspiracją był system Balsit, stworzony przez Rafała Bednarza na Bal w roku 2009. W przypływie nadmiernej chęci do pacy stwierdziłem, że można go napisać od nowa, rozbudowując niektóre możliwości/zmieniając funkcjonalność.

System składa się z front-endu do rejestracji gości - każdy chcący kupić bilet rejestrował się na komputerze, członek naszego samorządu sprawdzał poprawność wpisanych danych. Użytkownik otrzymywał unikalny numer, potrzebny zaraz przy następnym stanowisku.

Sprzedawca obsługiwał system sprzedaży - kupujący wybierał miejsce, wpłacał należność i otrzymywał wypisany bilet. Relacje tworzone były automatycznie, system ułatwiał sprzedaż biletu parom.

Całościowo  umożliwił osiągnięcie tempa powyżej 2 biletów na minutę :)

Sam system nie wykorzystywał innowacyjnych pomysłów - po prostu wykorzystywał wielkie możliwości frameworka :)

Załączam skompresowane źródła, włącznie z użytym Symfony 1.4.1: balsit 0.8.

6paź/09

Relacje 1:1 w Propel – unikanie błędu z primaryKey

Przeglądając trochę internetu w poszukiwaniu informacji jak zdefiniować relacje 1:1 za pomocą plików scheme.yml natrafiłem na wiele sugestii, mówiących aby nie tylko pole id, ale i drugie pole (będą właśnie w relacji 1:1 z polem id w innej tabeli) oznaczyć jako primary key. W prostej linii doprowadziło to do niezrozumiałego błędu:

Warning: Illegal offset type in symfony\plugins\sfPropelPlugin\lib\widget\sfWidgetFormPropelChoice.class.php on line 103

Rozwiązaniem generującym odpowiednie metody, zgodnym z informacją znalezioną np tutaj, było zrezygnowanie z primaryKey, i użycie klucza unikalnego.

28lip/08

Jabber w twojej domenie i wpisy SRV

Po zakupie domeny użytkownikowi Jabbera przychodzi do głowy kolejna myśl: założenie sobie JID takiego samego jak e-mail. Z pomocą przychodzi tutaj GoogleApps, umożliwiający to każdemu użytkownikowi sieci (od razu warto skorzystać z ich maila w tej samej domenie).

17lip/08

Spolszczony Aqueous-Lite

Na potrzeby oglądanej przez Ciebie strony spolszczyłem szablon:

http://themes.wordpress.net/columns/2-columns/1972/aqueous-lite/

Poprawiłem też parę drobiazgów aby był zgodny z XHTML 1.0 Transitional, oraz CSS2.

Poniżej zamieszczam pliki szablonu (sam szablon jak i tłumaczenie na licencji GPL)

Aqueous-Lite - pliki szablonu