You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

118 lines
3.3 KiB

## 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://api_name.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://localhost:8080/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://localhost:8080/api/locations/1",
"consertDates": "http://localhost:8080/api/dates/1",
"relations": "http://localhost:8080/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**.