Zadania

Zadania programistyczne, które miałem przyjemność realizować.

Tworzenie frontendu

Tworzenie frontend dla aplikacji webowych opartych o autorski system CMS. Frontend tworzony na podstawie layoutu przygotowanego w HTML, CSS, JavaScript. Język szablonów to Twig, który jest domyślnym dla frameworku Symfony.

Rodzaje aplikacji webowych, dla jakich tworzyłem frontend:

  • strona typu landing page
  • strona firmowa
  • wielojęzyczna strona firmowa
  • sklep internetowy
  • strona z ogłoszeniami
  • strona typu portal internetowy
  • multisite; tworzenie i publikowanie treści wielu stron www z jednego panelu administracyjnego

Typowe elementy na aplikacji webowej (stronie internetowej):

  • strony:
    • strony statyczne, indeks stron statycznych
      • strona główna, o nas, kontakt, regulamin, polityka prywatności, rodo itp.
    • strona artykułu, indeks artykułów
    • galeria, indeks galerii
    • aktualność, indeks aktualności
    • ogłoszenie, indeks ogłoszeń, wyszukiwanie i filtrowanie ogłoszeń
    • portfolio, lista projektów w portfolio
    • wydarzenia, kalendarz wydarzeń, rejestracja lub zakup biletu na wydarzenie
    • przepisy kulinarne, indeks przepisów, wyszukiwanie i filtrowanie przepisów
  • sekcje: nagłówek, menu (główne, w stopce), stopka, bloki, media
  • formularz kontaktowy
  • popup: z regulaminem, ze zgodą na cookies, treścią marketingową
  • obsługa mapy Google
  • elementy dla Search Engine Optimization (SEO); meta tytuł, meta opis, meta znaczniki
  • generowanie sitemap.xml
  • wyszukiwanie treści na stronie
  • stronicowanie treści na stronie
  • zmiana rozmiaru tekstu
  • jasny, ciemny motyw lub wysoki kontrast
  • radio internetowe na stronie
  • frontend dla zalogowanego użytkownika:
    • edycja profilu użytkownika
    • zmiana hasła
    • zarządzanie elementami ulubionymi
    • dodawanie treści
    • kasowanie profilu

Wdrożenie sklepu internetowego opartego o system eCommerce Sylius:

  • instalacja i konfiguracja
  • stworzenie szablonu dla frontend na podstawie theme dla bootstrap: SyliusShopBundle
    • frontend tworzony na podstawie layout'u przygotowanego w HTML, CSS, JavaScript
    • język szablonów to Twig, który jest domyślny dla framework'u Symfony
  • dostosowanie panelu administracyjnego
  • stworzenie szablonów dla e-maili
  • dodanie i konfiguracja wtyczek: BitBagSyliusCmsPlugin, OdiseoSyliusBlogPlugin

Tworzenie backendu

Tworzenie paneli administracyjnych dla aplikacji webowych opartych o autorski system CMS. W zależności od uprawnień użytkownik ma dostęp do innych paneli.

Rodzaje paneli administracyjnych (CRUD), jakie tworzyłem:

  • zarządzanie kontaktami pozyskanymi z formularza kontaktowego
  • CRM dla zarządzania klientami (np. notatki o kliencie, faktury, płatności, załączniki)
  • zarządzanie treściami: strony statyczne, artykuły, blog, ogłoszenia, galeria, portfolio, kupony promocyjne
  • zarządzanie treściami w różnych językach (tłumaczenia)
  • zarządzanie mediami i dokumentami
  • zarządzanie wydarzeniami (np. rezerwacje i rejestracje na wydarzenie)
  • zarządzanie przepisami kulinarnymi, kolekcją książek
  • zarządzanie powiadomieniami na urządzenia mobilne (Android, iOS)
  • zarządzanie reklamami wyświetlanymi w aplikacji mobilnej
  • zarządzanie płatnościami
  • obliczanie i pokazywanie statystyk
  • i wiele innych

Tworzenie komend dla CLI (command line), które realizują zadania uruchamianie w tle zgodnie z harmonogramem (patrz. cron).

  • wysyłka e-maili
  • wysyłka powiadomień push
  • różne obliczenia: np. rozliczanie reklam, statystyki
  • sprzątanie w bazie danych: np. usuwanie nieaktywnych użytkowników

Komunikacja z użytkownikami:

  • tworzenie szablonów e-maili
    • rejestracja użytkownika
    • weryfikacja e-maila
    • resetowanie hasła
    • potwierdzenie zamówienia
    • potwierdzenie rejestracji na wydarzenie
  • wysyłka e-maili
    • gdy formularz kontaktowy został poprawnie wypełniony
    • podczas rezerwacji, rejestracji na wydarzenie itp.
  • wysyłanie powiadomień

Generatory kodu z wykorzystaniem komponentu Symfony Maker, usprawniające i przyśpieszające pracę z powtarzalnymi zadaniami.

Rodzaje generatorów kodu oraz typ generowanego pliku:

  • szablon dla kontrolera (php)
  • szablon dla encji (php)
  • szablon dla repozytorium (php)
  • szablon dla tras (yaml)
  • szablon dla paneli CRUD (html.twig)

Eksportery plików czyli generowanie plików do formatów: xml, pdf, cvs, xls.


API dla aplikacji mobilnych

Tworzenie API dla aplikacji mobilnych opartych o autorski system CMS

Rodzaje aplikacji mobilnych:

  • aplikacja z aktualnościami oraz wydarzeniami
  • aplikacja z przepisami kulinarnymi
  • aplikacja jako mobilna wersja aplikacji webowej (strony internetowej)
  • zarządzanie kolekcją książek
  • aplikacja do umawiania się na spotkania offline
  • aplikacja lojalnościowa dla sieci lodziarni

Typowe API dla aplikacji mobilnych:

  • uwierzytelnianie, autoryzacja
  • zarządzanie użytkownikiem
    • logowanie, rejestracja
    • odświeżenie tokenów użytkownika (access, refresh)
    • zmiana i resetowanie hasła
    • potwierdzenie e-maila użytkownika
    • usunięcie konta użytkownika
    • edycja profilu użytkownika
  • zarządzanie treściami (np. strony statyczne, aktualności, galerie zdjęć, wydarzenia, kupony promocyjne, przepisy kulinarne, pozycje w menu)
    • dostęp do kolekcji zasobów
    • zarządzanie pojedynczym zasobem (CRUD)
    • wyszukiwanie, filtrowanie, stronicowanie
    • wersjonowanie zmian, cache (pamięć podręczna)
  • zarządzanie ulubionymi treściami
    • dodawanie lub usuwanie itp.
  • robienie rezerwacji, rejestracji np. na wydarzenie
  • walidacja danych (np. z formularza) przesłanych przez użytkownika

Intergracje z zewnętrznymi serwisami

  • Płatności internetowe:
    • PayPal
    • Przelewy24
    • PayU
  • Import XML; import i synchronizacja bazy produktów dla sklepu internetowego Sylius. Baza produktów pochodzi z zewnętrznego źródła w formacie XML
  • Rejestracja i logowanie użytkownika przy pomocy zewnętrznych usług; Google, Facebook, Apple
  • Wysyłanie powiadomień na urządzenia mobilne (Android, iOS) przy pomocy Google Firebase Cloud Messaging
  • System Hosted SMS (w skrócie HSMS); masowa wysyłka wiadomości SMS