diff --git a/subjects/groupie-trackers/groupie-trackers.audit.en.md b/subjects/groupie-trackers/groupie-trackers.audit.en.md new file mode 100644 index 00000000..b5bb243e --- /dev/null +++ b/subjects/groupie-trackers/groupie-trackers.audit.en.md @@ -0,0 +1,74 @@ +#### Functional + +###### Is the data from the artists being used? + +###### Is data from the relations being used? + +##### Try to see the "members" for the artist/band `"Queen"` +``` + "Freddie Mercury", + "Brian May", + "John Daecon", + "Roger Meddows-Taylor", + "Mike Grose", + "Barry Mitchell", + "Doug Fogie" +``` +###### Does it present the right "member", as above? + +##### Try to see the "firstAlbum" for the artist/band `"Gorillaz"` +``` + "26-03-2001" +``` +###### Does it present the right date for the "firstAlbum", as above? + +##### Try to see the "locations" for the artist/band `"Travis Scott"` +``` + "las_vegas-usa" + "brooklyn-usa" + "boston-usa" + "washington-usa" + "philadelphia-usa" + "montreal-canada" + "toronto-usa" + "new_york-usa" +``` +###### Does it present the right "locations" as above? + +##### Try to see the ""members"" for the artist/band `"Foo Fighters"`. +``` + "Dave Grohl" + "Nate Mendel" + "Taylor Hawkins" + "Chris Shiflett" + "Pat Smear" + "Rami Jaffee" +``` +###### Does it present the right members as above? + +##### Try to trigger an event using some kind of action (ex: Clicking the mouse over a certain element, pressing a key on the keyboard, resizing or closing the browser window, a form being submitted, an error occurring, etc). +###### Does the event responds as expected? + +###### Did the server crashed? +###### Does the server use the right [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)? +###### Has the website runned without crashing at anytime? +###### Are all the pages working? (Absence of 404 page?) +###### Does the project avoid [HTTP status 400](https://kinsta.com/knowledgebase/400-bad-request/#causes)? +###### Does the project avoid [HTTP status 500](https://www.restapitutorial.com/httpstatuscodes.html)? +###### Is the communication between server and client well established? +###### Does the server present all the needed handlers and patterns for the http requests? + +#### General + +###### +Does the event system run as asynchronous? (usage of go routines and channels) +###### +Is the site hosted or deployed? Can you access the website through a DNS (Domain Name System)? + +#### Basic + +###### +Does the code obey the [good practices](https://github.com/01-edu/public/blob/master/subjects/good-practices.en.md)? + +#### Social + +###### +Did you learn anything from this project? +###### +Can it be open-sourced / be used for other sources? +###### +Would you recommend/nominate this program as an example for the rest of the school? diff --git a/subjects/groupie-trackers/groupie-trackers.en.md b/subjects/groupie-trackers/groupie-trackers.en.md new file mode 100644 index 00000000..1601ec05 --- /dev/null +++ b/subjects/groupie-trackers/groupie-trackers.en.md @@ -0,0 +1,41 @@ +## groupie-trackers + +### Objectives + +Groupie Trackers consists on receiving a given API and manipulate the data contained in it, in order to create a site, displaying the information. + +- It will be given an [API](https://groupietrackers.herokuapp.com/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, the date of their first album and the members. + + - The second one, `locations`, consists in their last and/or upcoming concert locations. + + - The third one, `dates`, consists in their last and/or upcoming concert dates. + + - And the last one, `relation`, does the link between all the other parts, `artists`, `dates` and `locations`. + +- It should be used at least the `artists` and the `relation` parts given in the API. + +- Given all this you should build a user friendly website where you can display the bands info through several data visualizations (examples : blocks, cards, tables, list, pages, graphics, etc). It is up to you to decide which info you will present and how you will display it. + +- This project also focuses on the creation of events and on their visualization. + + - An event 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. +- [JSON](https://www.json.org/json-en.html) files and format. +- HTML. +- Event creation and display. + - [Events](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events). + +### 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**. + +### Usage + +- You can see an example of a RESTful API [here](https://rickandmortyapi.com/)