Browse Source

docs: added code challenge description

main
Björn Kalkbrenner 6 months ago
parent
commit
c1c8dade45
  1. 45
      README.md

45
README.md

@ -1,2 +1,45 @@
# cc-top100
# Code Challenge - Top100 popular iTunes Podcasts
## Erstelle einen HTTP Server mit den folgenden beiden Endpunkten in Golang
1) Der Endpunkt /update lädt beim Aufruf die Liste der 100 populärsten Podcasts für 5 verschiedene Länder und schreibt diese in geeigneter Form in eine Datenbank
Die 100 populärsten Podcasts lassen sich von iTunes über die folgende URL als JSON abrufen: https://itunes.apple.com/{cc}/rss/topaudiopodcasts/limit=100/json ({cc} = Country Code)
Die iTunesID ist im JSON unter dem Pfad "feed > entry > id > attribute > im:id“ zu finden
Die 5 Länder mit den dazugehörigen Country-Codes sind: USA (us), Deutschland (de), Frankreich (fr), Italien (it) und Spanien (es)
Die Datenbank sollte entweder MySQL, PostgreSQL oder SQLite sein
2) Der Endpunkt /rank erfordert die iTunesID als Eingabe-Parameter und liefert eine Liste von Land/Position-Tupeln zurück
In dem Tupel ist das Land (der "Country Code”) und die Position innerhalb der Top-100 enthalten
Die Server-Antwort soll mit Hilfe der Daten aus der Datenbank erstellt werden
Ist die iTunesID unbekannt, so soll eine leere Liste zurück gegeben werden
Die Antwort soll als JSON zurück gegeben werden
## Distribution
Der Server soll als Docker-Image ausgeliefert werden, d.h. ein entsprechendes Dockerfile soll vorhanden sein.
Die Integration in eine CI/CD ist nicht notwendig.
## FAQ
### Gibt es eine Präferenz bzw. direkte Vorgaben zu bestimmten Frameworks?
Beispiel: soll die DB-Umsetzung mit plain „idiomatic“ db/sql erledigt werden oder darf auf GORM zurückgegriffen werden?
*Keine Einschränkung.*
### Darf minimal auf eigene (!) Codeschnipsel zurückgegriffen werden?
*Da gibt es keine Einschränkungen.*
### Wird eine geschwindigkeitsoptimierte Lösung erwartet?
*Lesbarkeit ist hier wichtiger als Geschwindigkeit.*
### Sind Golang test cases erwünscht?
*Freie Wahl.*
### Wie soll der Ablauf stattfinden?
- keine Stoppuhr
- Nachvollziehbarkeit vor Bestzeit

Loading…
Cancel
Save