generisano korišćenjem Luminus frejmvorka verzija "4.40"
Pomoću Luminus frejmvorka i korišćenjem reitit swagger podrške sam napravio API za sportske rezultate
Na samom API-ju su izložene CRUD operacije za sportove i takmičenja, gde se praktično unose linkovi sa sajta https://www.flashscore.com
Iz sitemapa na samom sajtu se izvlače sportovi i takmičenja, ali neka popularnija takmičenja poput Engleske premier lige nisu u sitemap, pa se ona mogu manuelno dodati kroz API
Za ovako dodata takmičenja dva glavna endpointa su oni za tabele i rezultate i oni su praktično proxy između API-ja i sajta, a crawler je implementiran preko etaoin
headless browsera
Svaka API operacija je opisana na swaggeru, tako da verujem da ćete steći sliku kratkim pregledom specifikacije
Struktura baze podataka je implementirana u migracijama
Da bi se aplikacija pokrenula potrebno je sledeće
- leiningen
- mysql (mariadb) baza podataka
- geckodriver binary na sistemskoj putanji, jer je
etaoin
browser implementiran za firefox headless driver(ja sam na linuxu samo skinuo binary odavde https://github.com/mozilla/geckodriver/releases i postavio ga na user path)
Pre pokretanja potrebno je izvršiti migracije:
lein run migrate
A zatim da bi se aplikacija pokrenula
lein run -p 8000
Zatim na https://localhost:8000 može se videti Swagger UI i vršiti interakcija sa API-jem