Niniejsza strona została stworzona w oparciu o system Symfony. Framework ten usprawnia proces powstawania aplikacji poprzez automatyzację wielu elementów potrzebnych do osiągnięcia zamierzonego celu. Symfony wprowadza porządek w strukturze kodu co pomaga programiście w pisaniu lepszego, bardziej czytelnego oraz prostszego w utrzymaniu kodu. Symfony to pełny framework zaprojektowany by dzięki kilku kluczowym cechom zoptymalizować proces tworzenia aplikacji internetowych. Przede wszystkim oddziela od siebie logikę biznesową, model danych oraz interfejs użytkownika.
Zawiera wiele gotowych narzędzi oraz klas napisanych po to by skrócić proces tworzenia złożonych aplikacji internetowych. Symfony pozwala zautomatyzować szereg podstawowych czynności co pozwala programiście skupić się na specyfice tworzonej aplikacji. W rezultacie nie musimy wynajdywać koła na nowo za każdym razem kiedy tworzymy nową aplikację internetową.
Symfony zostało napisane w całości w PHP5. Zostało sprawdzone podczas tworzenia dużej ilości projektów oraz jest aktualnie używane na wielu wymagających stronach biznesowych. Framework symfony jest kompatybilny z najpopularniejszymi serwerami baz danych, takimi jak:
Działa zarówno na platformach *nix jak i Windows. Symfony zostało napisane tak by sprostać następującym wymaganiom:
Większość procesów i zadań wykonywanych przy okazji projektów internetowych została zautomatyzowana. Wbudowana internacjonalizacja pozwala na tłumaczenie w zależności od lokalizacji zarówno prezentowanych danych jak i interfejsu. Warstwa prezentacji wykorzystuje szablony oraz układy stron które mogą być tworzone przez webmasterów nie posiadającej żadnej wiedzy na temat frameworka. Helpery (helpers) redukują ilość kodu w warstwie prezentacji dzięki zamknięciu dużej ilości operacji w wywołaniach pojedynczych funkcji. Formularze wspiera zautomatyzowany system walidacji, pozwalający na ponowne wypełnianie formularzy w przypadku błędów - zapewnia to lepszą jakość danych w bazie danych oraz lepsze interakcje z użytkownikiem. Automatyczna ochrona przed atakami polagającymi na wprowadzaniu niepoprawnych danych ("output escaping"). Narzędzia do zarządzania cachem redukują obciążenie łącza oraz serwera. Metody uwierzytelniania oraz nadawania uprawnień ułatwiają tworzenie zabezpieczonych aplikacji oraz tworzenie mechanizmów zarządzania uprawnieniami użytkowników. System przekierowań (ang: routing) oraz przyjazne adresy URL wpływają korzystnie na jakość indeksowania aplikacji przez wyszukiwarki internetowe. Wbudowane narzędzia e-mail oraz zarządzanie API pozwalają na wyjście poza klasyczny stereotyp korzystania z aplikacji tylko przez przeglądarkę internetową. Dzięki mechanizmom stronicowania, sortowania oraz filtrowania prezentowane listy danych są bardziej przyjazne oraz funkcjonalne dla użytkowników. Generatory oraz wtyczki i rozszerzenia zwiększają możliwości rozszerzania zarówno aplikacji jak i frameworka. Mechanizmy bazujące na AJAX są łatwe do wdrożenia dzięki helperom,za pomocą których w jednej linii można wygenerować efekty w JavaScript kompatybilne ze wszystkimi przeglądarkami.