Rozwój Eviche
Stos technologii
Back-end: Laravel 10 (REST API, Artisan Console, Architektura warstwy usług)
Baza danych: MySQL 8
Dokumentacja: Swagger (OpenAPI)
Inne narzędzia: Laravel Scheduler (Cron), Laravel Sanctum (autoryzacja), Laravel Livewire Tables (panel administracyjny), Laravel Excel, GuzzleHttp
- Krótki opis
Opracowałem system webowy do zbierania, przechowywania i zarządzania projektami ustawodawczymi z otwartych danych Rady Najwyższej Ukrainy. System zapewnia również REST API do interakcji z aplikacjami frontendowymi.
- Główne funkcje
1. Parsowanie danych z API Rady Najwyższej
Integracja z data.rada.gov.ua
Regularne aktualizacje danych za pomocą poleceń Artisan i Laravel Scheduler (cron).
Przetwarzanie formatów JSON i TSV (głosowania plenarne, lista deputowanych, projekty ustaw itp.).
2. Zapis struktury w bazie danych
Projekt realizuje zapis podzielonych encji: projekty ustaw, deputowani, głosowania, frakcje, posiedzenia plenarne.
Zastosowano relacje relacyjne (hasMany, belongsToMany) do poprawnego budowania raportów i analizy.
3. Panel administracyjny
Zbudowany na bazie Laravel Livewire Tables.
Zrealizowano CRUD do zarządzania:
projektami ustaw,
deputowanymi,
frakcjami,
głosami.
Dodano filtry, sortowanie, paginację, wyszukiwanie.
4. REST API dla frontendu
Zbudowane pełnoprawne API do interakcji z publicznym frontendem (React/Next.js).
Wszystkie zapytania zabezpieczone tokenami przez Laravel Sanctum.
W API zrealizowano:
uzyskiwanie listy projektów ustaw,
przeglądanie informacji o projekcie ustawy,
filtrowanie według tematów, frakcji, dat,
uzyskiwanie wyników głosowań i aktywności deputowanych.
5. Dokumentacja Swagger
Zintegrowana Swagger-UI do wygodnego przeglądania i testowania API.
Zautomatyzowana generacja dokumentacji przez komentarze PHPDoc.
Dokumentacja obejmuje wszystkie główne trasy, typy zapytań i walidację.
- Moja rola
Projektowanie struktury bazy danych.
Realizacja parsera API i logiki zapisu.
Tworzenie panelu administracyjnego z Livewire i DataTables.
Budowa bezpiecznego REST API.
Testowanie funkcjonalności.
Pisanie dokumentacji Swagger.
- Wynik
System pozwala na automatyzację procesu monitorowania działalności Rady Najwyższej, przechowywanie danych historycznych oraz tworzenie dostosowanych zapytań dla aplikacji frontendowej lub celów analitycznych.
Back-end: Laravel 10 (REST API, Artisan Console, Architektura warstwy usług)
Baza danych: MySQL 8
Dokumentacja: Swagger (OpenAPI)
Inne narzędzia: Laravel Scheduler (Cron), Laravel Sanctum (autoryzacja), Laravel Livewire Tables (panel administracyjny), Laravel Excel, GuzzleHttp
- Krótki opis
Opracowałem system webowy do zbierania, przechowywania i zarządzania projektami ustawodawczymi z otwartych danych Rady Najwyższej Ukrainy. System zapewnia również REST API do interakcji z aplikacjami frontendowymi.
- Główne funkcje
1. Parsowanie danych z API Rady Najwyższej
Integracja z data.rada.gov.ua
Regularne aktualizacje danych za pomocą poleceń Artisan i Laravel Scheduler (cron).
Przetwarzanie formatów JSON i TSV (głosowania plenarne, lista deputowanych, projekty ustaw itp.).
2. Zapis struktury w bazie danych
Projekt realizuje zapis podzielonych encji: projekty ustaw, deputowani, głosowania, frakcje, posiedzenia plenarne.
Zastosowano relacje relacyjne (hasMany, belongsToMany) do poprawnego budowania raportów i analizy.
3. Panel administracyjny
Zbudowany na bazie Laravel Livewire Tables.
Zrealizowano CRUD do zarządzania:
projektami ustaw,
deputowanymi,
frakcjami,
głosami.
Dodano filtry, sortowanie, paginację, wyszukiwanie.
4. REST API dla frontendu
Zbudowane pełnoprawne API do interakcji z publicznym frontendem (React/Next.js).
Wszystkie zapytania zabezpieczone tokenami przez Laravel Sanctum.
W API zrealizowano:
uzyskiwanie listy projektów ustaw,
przeglądanie informacji o projekcie ustawy,
filtrowanie według tematów, frakcji, dat,
uzyskiwanie wyników głosowań i aktywności deputowanych.
5. Dokumentacja Swagger
Zintegrowana Swagger-UI do wygodnego przeglądania i testowania API.
Zautomatyzowana generacja dokumentacji przez komentarze PHPDoc.
Dokumentacja obejmuje wszystkie główne trasy, typy zapytań i walidację.
- Moja rola
Projektowanie struktury bazy danych.
Realizacja parsera API i logiki zapisu.
Tworzenie panelu administracyjnego z Livewire i DataTables.
Budowa bezpiecznego REST API.
Testowanie funkcjonalności.
Pisanie dokumentacji Swagger.
- Wynik
System pozwala na automatyzację procesu monitorowania działalności Rady Najwyższej, przechowywanie danych historycznych oraz tworzenie dostosowanych zapytań dla aplikacji frontendowej lub celów analitycznych.