Automatyczna wysyłka SMS

Szczegóły projektu

Założenia projektu

Dotyczące oprogramowania:

  • Oprogramownie musi być responsywne i dostępne do obsługi przez urządzenia mobilne,
  • Oprogramownie musi być dostępne na serwerze zdalnym i być dostępne z każdego miejsca z dostępem do internetu,
  • Oprogramowanie powinno udostępniać obsługę wielu użytkowników z dowolną ilością kluczy API,
  • Oprogramownie powinno obsługiwać więcej niż 1 urządzenie wysyłkowe oraz oferować możliwość wysyłki przez dowolny dostępny numer telefonu,
  • Oprogramowanie powinno automatycznie rozliczać wysyłkę wiadomości SMS na podstawie wirutalnej waluty,
  • Wewnątrz oprogramowania powinna istnieć możliwość aktywacji pakietu nielimitowanej wysyłki SMS.

Implementacja oraz wdrożenie

Aplikacja została stworzona w ramach projektu indywidualnego, do wykorzystania w aktualnych i przyszłych projektach. Aplikacja dostępna jest tylko do użytku prywatnego i do wykorzystania przez współpracujące podmioty. Interfejs wewnętrzny aplikacji został oparty o dobre praktyki oraz z wykorzystaniem stylu opartego o "Boostrap" (licencja MIT).

Backend został stworzony w oparciu o język PHP w wersji 7.3 we frameworku Symfony 4.4. Kod został sprawdzony poprzez PHP CodeSniffer oraz PHP Mess Detector. Dane przechowywane są w bazie danych MySQL.

Aplikacja posiada następujące funkcjonalności, dla użytkownika o standardowych uprawnieniach:

  • Podgląd stanu konta oraz wariantu rozliczeń,
  • Podgląd szybkich statystyk dot. ilości wysłanych wiadomości,
  • Podgląd wygenerowanych kluczy API, dla własnego konta,
  • Możliwość przyjmowania zleceń wysyłki SMS, poprzez REST API (autoryzacja personalnym dla każdego użytkownika - kluczem API),

Uprawnienia administratora obejmują wszystkie te zwykłego użytkownika, ale także:

  • Podgląd wszystkich wiadomości wysłanych przez wszystkich użytkowników z podziałem na konkretne klucze API,
  • CRUD do zarządzania kluczami API oraz użytkownikami,
  • CRUD do zarządzania urządzeniami wysyłkowymi i ich kluczami API,
  • Podgląd historii zdarzeń dla całego systemu,

Część serwerowa została uruchomiona na serwerze zdalnym. Urządzenie wysyłkowe, w postaci telefonu, jest uruchomione w prywatnym mieszkaniu i jest dostępne 24/7. Oprogramownie uruchomione na telefonie zostało wykorzystane na mocy licencji MIT na otwarte oprogramowanie.