Skip to content

9 darmowych API dzi臋ki, kt贸rym Tw贸j projekt urwie 馃崙 rekruterom.

To ju偶 ostatni commit, kt贸ry wypchn膮艂e艣 do swojego repozytorium. Trzy poprzednie miesi膮ce by艂y ci臋偶kie, zarywa艂e艣 noce, aby doko艅czy膰 sw贸j projekt. Projekt nie byle jaki, bo b臋d膮cy przepustk膮 do kariery programistycznej. Tak膮 przynajmniej masz nadziej臋. Liczysz, 偶e wiele godzin sp臋dzonych na wertowaniu stackoverflow i hektolitry wypitej kawy by艂y tego warte. Oczekujesz, 偶e kt贸ry艣 z rekruter贸w w ko艅cu odpowie na Twoj膮 kandydatur臋 i zaprosi Ci臋 do kolejnego etapu.

Niestety, nic takiego nie ma miejsca, a Ty zaczynasz si臋 zastanawia膰, co jest powodem takiego stanu rzeczy. Zaczynasz coraz powa偶niej traktowa膰 pojawiaj膮ce si臋 opinie, m贸wi膮ce o tym, 偶e prac臋 w IT zdobywa si臋 tak naprawd臋 po znajomo艣ci.

To jedna z opinii, na jakie natrafi艂em ostatnimi czasy, niestety mocno dezinformuj膮ca innych.

Tak si臋 sk艂ada, 偶e regularnie jestem po drugiej stronie monitora i zdarza mi si臋 odrzuca膰 projekty takie jak Tw贸j. Mam kilka przemy艣le艅, z kt贸rymi ch臋tnie si臋 z Tob膮 podziel臋.

Tw贸j projekt jest bli藕niaczo podobny do ca艂ej masy innych. Technicznie, to kolejny prosty CRUD z baz膮 danych opart膮 na dw贸ch tabelach. Z艂o艣liwy powiedzia艂by, 偶e to kolejna przegl膮darka do bazy. Co wi臋cej, ze 艣wiec膮 szuka膰 tam ciekawego fragmentu domeny, ot zwyk艂e encje na twarz i pchasz. Nie mam nic przeciwko prostym projektom, bo ka偶dy od czego艣 zaczyna i jest na r贸偶nym etapie nauki, to jednak w kontek艣cie rekrutacji wygrywaj膮 te, kt贸re potrafi膮 si臋 wyr贸偶ni膰.

CRUD to CRUD, nawet jak ma inny kolor.

Rekrutacja os贸b bez do艣wiadczenia, cz臋sto przypomina „Mam talent”, gdzie kandydaci cz臋sto rywalizujemy z innymi o wymarzone stanowisko. Czasem proste detale typu dopracowane README czy schludny interfejs powoduj膮, 偶e kto艣 skrada tym serca juror贸w rekruter贸w.

Porad jak taki projekt da艂oby si臋 uatrakcyjni膰, jest sporo. W dzisiejszym artykule skupi臋 si臋 na jednej. Takiej, kt贸ra z mojego do艣wiadczenia do dzi艣 nie jest praktykowana zbyt cz臋sto, a powinna!

Dlaczego warto wykorzystywa膰 zewn臋trzne API w projekcie?

By膰 mo偶e zastanawiasz si臋, jak wykorzystanie rozwi膮za艅 innych mia艂oby Ci pom贸c? Czy w rekrutacji na stanowisko programistyczne, nie chodzi w艂a艣nie o to, aby pokaza膰 swoje umiej臋tno艣ci i zakodowa膰 co艣 od 0 i nie wspiera膰 si臋 gotowcami? Moim zdaniem nie zawsze, szczeg贸lnie je偶eli s膮 powody, aby tego nie robi膰.

Pozw贸l, 偶e wypunktuj臋 Ci, co daje skorzystanie z gotowych rozwi膮za艅 w postaci API.

Pokazujesz jedn膮 z cenniejszych umiej臋tno艣ci – integrowanie system贸w.

Podczas realizacji projekt贸w komercyjnych bardzo wa偶n膮 umiej臋tno艣ci膮 jest dzielenie wi臋kszego problemu na pod problemy. Te z kolei, niekoniecznie musz膮 by膰 rozwi膮zane w pe艂ni przez Ciebie. Cz臋sto, du偶o m膮drzejszym posuni臋ciem b臋dzie wykorzystanie gotowych us艂ug, produkt贸w, kt贸re przybli偶膮 Ci臋 do po偶膮danego celu, taniej i szybciej. Wie o tym wi臋kszo艣膰 do艣wiadczonych programist贸w, kt贸ra rozwi膮zuje problemy, a nie koduje dla samego faktu kodowania.

Je偶eli dopiero zaczynasz swoj膮 karier臋, to warto b臋dzie o tym pami臋ta膰 i spr贸bowa膰 wple艣膰 taki zestaw umiej臋tno艣ci w swoje projekty. Rekruterzy doceniaj膮 takie podej艣cie i wiedz膮, 偶e wiedza z pet projekt贸w, jest dobrym fundamentem na przysz艂o艣膰 – ju偶 podczas komercyjnej pracy. Zdaj膮 sobie spraw臋, 偶e integracja nie nale偶y te偶 do zada艅 trywialnych i stawia du偶o ciekawych wyzwa艅 na swojej drodze, kt贸re mo偶na rozwi膮za膰.

Oszcz臋dzasz czas, poprzez wykorzystanie gotowych funkcjonalno艣ci.

Kolejnym powodem jest oszcz臋dno艣膰 czasu. Tutaj mo偶na te偶 znale藕膰 analogi臋 do pracy profesjonalnej, gdzie z regu艂y rozwi膮zania pisane od zera stanowi膮 tylko trzon domeny, za艣 wszystko odtw贸rcze i mniej istotne, najlepiej jak jest realizowane przez gotowe komponenty. Nie zawsze si臋 oczywi艣cie da i czasem brakuj膮ce 5% potrafi wywr贸ci膰 ca艂y misterny plan do g贸ry nogami. Nadal jest to jednak element, kt贸ry ci臋偶ko pomija膰 podczas codziennej pracy.

Z Twojego podw贸rka projektu niekomercyjnego, wykorzystanie pewnych gotowych funkcjonalno艣ci API zaoszcz臋dzi Ci mn贸stwo czasu, kt贸ry mo偶esz wykorzysta膰 na unikaln膮 cz臋艣膰 projektu Twojego autorstwa. Za艂贸偶my, 偶e API zwr贸ci Ci zawsze 艣wie偶e dane pogodowe/drogowe/kurs贸w walut/nft/itd. Ty w tym czasie b臋dziesz m贸g艂 wykaza膰 si臋 kreatywno艣ci膮 i zastanowi膰 co dalej z tymi danymi zrobi膰.

Masz dost臋p do ciekawych danych

Jest wiele API, kt贸re udost臋pniaj膮 ciekawe dane. W bardzo 艂atwy spos贸b mog膮 uatrakcyjni膰 Tw贸j projekt. Du偶o milej ogl膮da si臋 prawdziwe dane o kursach walut czy pogodowe, por贸wnuj膮c je z samodzielnie przygotowanymi fikcyjnymi zbiorami Twojego autorstwa.

Je偶eli ju偶 o tych danych m贸wimy, to po raz kolejny zaoszcz臋dzisz mn贸stwo czasu na ich wprowadzanie. Maj膮c pewno艣膰, 偶e ich jako艣膰 b臋dzie sta艂a na najwy偶szym poziomie. Z danymi wprowadzanymi przez Ciebie, mo偶e by膰 natomiast r贸偶nie.

Tw贸j projekt wygl膮da profesjonalniej.

To wszystko, sprawia, 偶e projekty wykorzystuj膮ce dane poprzez integracj臋 z API, sprawiaj膮 wra偶enie du偶o bardziej profesjonalnych. Raz, 偶e w艂a艣nie tak cz臋sto wygl膮daj膮 z艂o偶one projekty komercyjne, dwa pokazuj膮, 偶e osoba realizuj膮ca projekt dzia艂a w spos贸b m膮dry, nie wymy艣la ko艂a na nowo i skupia si臋 na dowiezieniu warto艣ci.

Lista 艣wietnych API

Licz臋, 偶e przynajmniej w jakim艣 stopniu zach臋ci艂em Ci臋 do wykorzystania API w swoim nast臋pnym projekcie. Poni偶ej kr贸tka lista wybranych przeze mnie 10 otwartych API, wraz z pomys艂ami na projekt, kt贸re mo偶esz wykorzysta膰 przy nast臋pnej okazji.

Tasty API

https://rapidapi.com/apidojo/api/tasty/

Na pierwszy ogie艅 leci API, serwuj膮ce gotowe przepisy kulinarne. Bazuje na przepisach dost臋pnych na stronie https://tasty.co i jest w stanie dostarczy膰, poka藕n膮 ilo艣膰 danych, wliczaj膮c w to miniatury, sk艂adniki dania, kroki do jego wykonania, list臋 przypraw, a nawet nagranie z procesu przygotowania.

Co z jego pomoc膮 mo偶na stworzy膰? M贸g艂by艣 np. pokusi膰 si臋 o serwis, kt贸ry zbiera preferencje u偶ytkownika i serwuje mu losowy przepis na podstawie tych preferencji. Przyk艂adowo jako u偶ytkownik, chcia艂bym dosta膰 szybki przepis na jaki艣 deser do kawy, ale prosz臋, uwzgl臋dnij, 偶e mam uczulenie na laktoz臋.

API w darmowej wersji posiada limit 500 request贸w dziennie, jednak na potrzeby budowy serwisu do swojego portfolio powinni wystarczy膰.

Quiz API

https://quizapi.io/

To bardzo ciekawy serwis oferuj膮cy baz臋 pyta艅 i odpowiedzi w postaci API. Znajdziesz tutaj pytania dotycz膮ce r贸偶nych technologii zaczynaj膮c od Linuxa, Dockera, MySQL, JavaScript i inne. Co wi臋cej, je偶eli istniej膮ca baza nie spe艂ni twoich oczekiwa艅, mo偶esz j膮 rozszerzy膰 o w艂asne pytania.

Je偶eli chodzi o projekt oparty na tego typu API, mo偶e to by膰 to np. quiz sprawdzaj膮cy z wiedzy na temat X, gdzie twoim wk艂adem w tym projekcie b臋dzie przygotowanie algorytmu punktacyjnego, kt贸ry uwzgl臋dni trudno艣膰 pyta艅 i pr臋dko艣膰 odpowiedzi. W ramach projektu m贸g艂by powsta膰 te偶 publiczna tablica highscores pokazuj膮ca osoby, kt贸re najlepiej poradzi艂y sobie w quizie.

Words API

https://www.wordsapi.com/

Kolejn膮 ciekaw膮 stron膮, kt贸r膮 mo偶na wykorzysta膰 w twoim projekcie jest API s艂ownikowe. Dzia艂a bardzo prosto, dostarczasz s艂owo, a API zwraca Ci, definicj臋, synonimy, antonimy, rymy i wiele innych powi膮zanych z tym s艂owem konstrukcji.

Projektem, kt贸ry mi przychodzi do g艂owy na wykorzystanie takiego API, to edytor, kt贸ry by艂by w stanie wy艂apywa膰 powt贸rzenia i sugerowa膰 synonimy, lub generator wierszy, oferuj膮cy s艂owa rymuj膮ce. W przypadku niekt贸rych funkcjonalno艣ci jak np. synonimy mo偶esz pokusi膰 si臋 o po艂膮czenie API t艂umacz膮cego (np. https://www.deepl.com oferuj膮cy jedn膮 z najwy偶szych jako艣ci t艂umaczenia) i zbudowanie narz臋dzia wieloj臋zykowego.

Pin on Giggles

Air Quality API

https://www.iqair.com/air-pollution-data-api

Temat smogu i zanieczyszczenia powietrza jest od kilku lat wa偶nym tematem spo艂ecznym. R贸wnie ciekawy i wa偶ny mo偶e by膰 Tw贸j projekt oparty o API prezentuj膮ce du偶o danych o jako艣ci powietrza. API jest bardzo wygodne w u偶yciu, zwraca lokalizacje miejsc, dla kt贸rych posiada dane i same informacje o zanieczyszczeniach. Tutaj jest z przyk艂ad贸w odpowiedzi:

{
  "status": "success",
  "data": {
    "city": "Lodz",
    "state": "Lodz Voivodeship",
    "country": "Poland",
    "location": {
      "type": "Point",
      "coordinates": [
        19.4509,
        51.775411
      ]
    },
    "current": {
      "weather": {
        "ts": "2021-12-28T15:00:00.000Z",
        "tp": -4,
        "pr": 1006,
        "hu": 84,
        "ws": 0.89,
        "wd": 135,
        "ic": "01n"
      },
      "pollution": {
        "ts": "2021-12-28T14:00:00.000Z",
        "aqius": 91,
        "mainus": "p2",
        "aqicn": 44,
        "maincn": "p2"
      }
    }
  }
}

Airtable API

https://airtable.com/api

Airtable to jak m贸wi膮 sami tw贸rcy hybryda arkusza kalkulacyjnego i bazy danych. 艢wietnie si臋 sprawdza w celu porz膮dkowania, zbierania i przetwarzania danych, posiada multum integracji z popularnymi serwisami, w ofercie znajdziesz r贸wnie偶 wygodne API, kt贸re mo偶na wykorzysta膰 w swoim projekcie. W ko艅cu nie samym SQLem cz艂owiek 偶yje i czasem nasz zas贸b danych mo偶e stanowi膰 kilka tabel w Airtable. Na pochwa艂臋 zas艂uguje wygodne API, kt贸re prezentuje przyk艂ady na podstawie twoich faktycznych danych trzymanych w Airtable.

Jakie projekty mo偶esz stworzy膰 dzi臋ki takiemu API? Tutaj mo偶liwo艣ci jest tak wiele, 偶e ci臋偶ko si臋 ograniczy膰. Wa偶niejsze aby na tego typu integracj臋, spojrze膰 z perspektywy alternatywnego 藕r贸d艂a danych.

Zawsze warto zerkn膮膰 na 艣wiat open source i na to czy jaki艣 projekt nie oferuje wygodnego wrappera na API, kt贸re chcemy u偶y膰. W przypadku Airtable takim projektem jest np. https://github.com/Sybit-Education/airtable.java

Gofile

https://gofile.io/welcome

Jest spora liczba b艂臋d贸w pocz膮tkuj膮cych, kt贸rzy chc膮 stworzy膰 program, kt贸ry w swoim dzia艂aniu wykorzystuje pliki. W艣r贸d najcz臋stszych jest to, 偶e:

  • u偶ywaj膮 w tym celu lokalnego zasobu plik贸w, kt贸ry owszem lokalnie dzia艂a, o tyle po wdro偶eniu na serwerze ju偶 niekoniecznie,
  • zapisuj膮 du偶e dane binarne w bazie (to praktyka, kt贸r膮 mia艂em okazj臋 widzie膰 r贸wnie偶 w komercyjnych projektach),

A mo偶na przecie偶 u偶y膰 w tym celu dedykowanych serwis贸w, do obs艂ugi plik贸w. W艣r贸d najpopularniejszych prym wiedzie oczywi艣cie us艂uga s3 od Amazon Web Services. Sprawdzi si臋 tutaj genialnie i nie b臋dzie nas nic kosztowa膰 (zak艂adaj膮c, 偶e du偶o czasu up艂ynie, zanim wyczerpiemy nasz free tier) Minusem jest konieczno艣膰 podpi臋cia naszej karty, co na etapie pocz膮tkuj膮cych mo偶e nie艣膰 ryzyko wycieku klucza i w konsekwencji du偶ych strat finansowych.

Nie zrozum mnie 藕le, nie chc臋 straszy膰, czy zniech臋ca膰 Ci臋 do korzystania i nauki o chmurach. To bardzo warto艣ciowa i porz膮dna obecnie na rynku wiedza. Pragn臋 Ci臋 jednak uczuli膰, na ryzyko, kt贸re istnieje i kt贸rego powiniene艣 by膰 艣wiadomy. Wsz臋dzie tam, gdzie podajesz swoje wra偶liwe dane bankowe, powiniene艣 obchodzi膰 si臋 z nimi bardzo ostro偶nie.

Wi臋cej o samych historiach wyciek贸w i jak si臋 przed nimi chroni膰 przeczytasz np. tutaj:
https://ichi.pro/pl/jak-uchronic-sie-przed-nieoczekiwanie-wysokimi-rachunkami-za-aws-86625660856052

S膮 jednak darmowe alternatywy, kt贸re w pe艂ni sprawdz膮 si臋 tutaj podobnie co s3. Jedn膮 z nich jest w艂a艣nie serwis Gofile, oferuj膮cy wygodne API Restowe do obs艂ugi plik贸w. W 艂atwy spos贸b mo偶emy je wykorzysta膰 w celu zapisywania danych od u偶ytkownik贸w, czy serwowania dowolnych plik贸w przez nasz膮 aplikacj臋. Ten wygodny i sprawdzony spos贸b spowoduje, 偶e Twoja aplikacja nie b臋dzie wymaga艂a du偶ego serwera. Ty natomiast zostaniesz oceniony jako ten, kt贸ry wie, jakie s膮 dobre praktyki obs艂ugi plik贸w w projektach.

Co do samego pomys艂u na aplikacj臋, ci臋偶ko tutaj co艣 zaproponowa膰. W dzisiejszych czasach niemal ka偶da z aplikacji korzysta z plik贸w w r贸偶nej postaci. Dlatego integracja z tego typu serwisem powinna znale藕膰 zastosowanie w bardzo wielu projektach.

Art Institute of Chicago

https://api.artic.edu

Interesuj膮cym pomys艂em na aplikacje mo偶e by膰 po艂膮czenie 艣wiata sztuki i technologii. Tak膮 mo偶liwo艣膰 udost臋pnia mi臋dzy innymi Muzeum Sztuk Pi臋knych w Chicago, kt贸re oferuje API do swoich zbior贸w. O samym muzeum warto wspomnie膰, 偶e posiada w swoich zbiorach jedn膮 z najwspanialszych na 艣wiecie kolekcji malarstwa europejskiego, obejmuj膮c膮 ponad 3500 dzie艂. To tutaj znajdziesz mi臋dzy innymi obrazy Moneta, Picassa czy Van Gogha.

API oferuje ciekawe zbiory danych, kt贸re mog膮 zosta膰 wykorzystane w kreatywnych sposob贸w. Zaczynaj膮c od aplikacji typu Quiz, z wiedzy na temat malarstwa, po aplikacj臋 oferuj膮c膮 obraz na dzi艣 + zbi贸r ciekawostek.

Craft My PDF

https://craftmypdf.com

Kolejnym bardzo ciekawym API, kt贸re ma szans臋 sta膰 si臋 podwalin膮 pod profesjonalny u偶ytkowy projekt, jest craftmypdf. Serwis ten oferuje mo偶liwo艣膰 tworzenia szablon贸w pdf, kt贸re mo偶emy dynamicznie generowa膰. API jest bardzo proste, ale razem z intuicyjnym kreatorem szablon贸w w serwisie pozwala na pe艂n膮 automatyzacj臋 wypluwania gotowych wype艂nionych dokument贸w.

Do czego taki serwis m贸g艂by艣 wykorzysta膰? Ja sam mam co najmniej kilka ciekawych pomys艂贸w. Zaczynaj膮c od prostego systemu generowania faktur (z t膮 prostot膮 to mo偶e przesadzi艂em, w ko艅cu jeste艣my w Polsce i system podatkowych, do naj艂atwiejszych nie nale偶y ;-)) Innym pomys艂em, mo偶e by膰 generator imiennych certyfikat贸w lub generator imiennych kopii e-book贸w.

TomTom API

https://developer.tomtom.com/

Na koniec wspomn臋 o mo偶liwo艣ci wykorzystania API firmy, dla kt贸rej obecnie pracuj臋. Je偶eli w swoim projekcie my艣lisz o wykorzystaniu danych lokalizacyjnych, to co oferuje TomTom b臋dzie zdecydowanie warte rozwa偶enia. Na uwag臋 zas艂uguje korzystna opcja Freemium, bez wymogu podania danych Twojej karty bankowej.

TomTom oferuje wiele API, kt贸re mo偶esz wykorzysta膰 w swoim projekcie. Znajdziesz tutaj API do map, nawigacji, miejsc czy informacji o aktualnym nat臋偶eniu ruchu drogowego. Daje Ci to du偶e mo偶liwo艣ci do stworzenia ciekawego projektu.

Poza sam膮 okazj膮 do podzielenia si臋 ciekawymi API i jednoczesnym wypromowaniu rozwi膮za艅 firmy, w kt贸rej pracuj臋, chcia艂em tutaj zawrze膰 jeszcze jedno przemy艣lenie. W miejsce tego konkretnego przyk艂adu API, m贸g艂by艣 wstawi膰 jakiekolwiek inne, kt贸rego w艂a艣cicielem jest firma, do kt贸rej rozwa偶asz aplikowa膰. Moim zdaniem, tak skrojony projekt, nie tylko wyr贸偶ni si臋 na tle innych, ale ma bardzo du偶e szanse, na to, aby pozytywnie zaskoczy膰 rekrutera. Tym samym, zadbasz o dobre wra偶enie ju偶 na starcie. Pisz臋 o tym, poniewa偶 tego typu zabieg jest niezwykle rzadki w艣r贸d kandydat贸w. Licz臋 na to, 偶e zmieni si臋 to po publikacji tego artyku艂u.

Nowa edycja sta偶u w TomTom!

W momencie pisania tego artyku艂u mija kilka dni odk膮d zako艅czyli艣my kolejn膮, 贸sm膮 ju偶 tur臋 praktyk (31.12.2021). Kilkoro praktykant贸w kontynuuje z nami wsp贸艂prac臋, s膮 te偶 osoby, kt贸re znalaz艂y prac臋 w innych firmach (mi臋dzy innymi w Allegro, pozdro Adam :-))

W najbli偶szym czasie b臋dziemy otwiera膰 kolejny nab贸r do naszego programu sta偶owego. Rekrutacja jest prosta, bo sk艂ada si臋 tylko z dw贸ch etap贸w, gdzie pierwszy to weryfikacja CV i w艂asnego portfolio na Githubie. Drugi to godzinna rozmowa z nami. Dosta膰 si臋 jest stosunkowo ci臋偶ko (w ostatniej turze mieli艣my oko艂o 60 aplikacji, z kt贸rych wybrali艣my 15 os贸b na rozmowy i z tej grupy wybrali艣my 4 najmocniejsze osoby). Zak艂adam, jednak, 偶e je偶eli jeste艣 czytelnikiem mojego bloga, mo偶esz wy艂apa膰 kilka wskaz贸wek, kt贸re pomog膮 Ci w ca艂ym procesie i zwi臋kszysz swoje szanse. Zestaw porad po ostatniej rekrutacji spisa艂em w formie artyku艂u, kt贸ry znajdziesz tutaj:

Je偶eli jeste艣 na etapie poszukiwa艅 pierwszego do艣wiadczenia, to zapraszam do kontaktu.
Daj mi zna膰, na pewno rozwa偶ymy ka偶d膮 kandydatur臋 馃檪

https://www.linkedin.com/in/towczarek/