## groupietrackers ### Objectives Groupie Trackers consists on receiving a given API and manipulate the data contained in it, in order to create a site. - It will be given an [API](http://groupietrackers.org/api), that consists in four parts: - The first one, `artists`, containing information about some bands and artists like their name(s), image, in which year they began their activity and the date of their first album. ```json { "id": 1, "image": "http://groupietrackers/api/images/queen.jpeg", "name": "Queen", "members": [ "Freddie Mercury", "Brian May", "John Daecon", "Roger Meddows-Taylor", "Mike Grose", "Barry Mitchell", "Doug Fogie" ], "creationDate": 1970, "firstAlbum": "13-07-1973", "locations": "http://groupietrackers/api/locations/1", "consertDates": "http://groupietrackers/api/dates/1", "relations": "http://groupietrackers/api/relation/1" } ``` - The second one, `locations`, consists in their last and/or upcoming concert locations. ```json { "id": 1, "locations": [ "north_carolina-usa", "georgia-usa", "los_angeles-usa", "saitama-japan", "osaka-japan", "nagoya-japan", "penrose-new_zealand", "dunedin-new_zealand" ] } ``` - The third one, `dates`, consists in their last and/or upcoming concert dates. ```json { "id": 1, "dates": [ "*23-08-2019", "*22-08-2019", "*20-08-2019", "*26-01-2020", "*28-01-2020", "*30-01-2019", "*07-02-2020", "*10-02-2020" ] } ``` - And the last one, `relations`, does the link between all the other parts, `artists`, `dates` and `locations`. ```json { "id": 1, "datesLocations": { "dunedin-new_zealand": [ "10-02-2020" ], "georgia-usa": [ "22-08-2019" ], "los_angeles-usa": [ "20-08-2019" ], "nagoya-japan": [ "30-01-2019" ], "north_carolina-usa": [ "23-08-2019" ], "osaka-japan": [ "28-01-2020" ], "penrose-new_zealand": [ "07-02-2020" ], "saitama-japan": [ "26-01-2020" ] } } ``` - This project also focuses on the creation of events and on their visualization. - An event-driven system consists in a system that responds to some kind of action triggered by the client, time, or any other factor. This project will help you learn about : - Manipulation and storage of data. - HTML. - Event creation and display. - [Event-driven system](https://medium.com/omarelgabrys-blog/event-driven-systems-cdbe5a4b3d04). - JSON files and format. ### Instructions - The backend must be written in **Go**. - The code must respect the [**good practices**](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md). - It is recommended that the code should present a **test file**.