Hello all future code astronauts!
Now you are about to embark on an amazing space adventure where you will build your very own interactive space application by combining your recently aquired skills in vanilla JavaScript, with HTML & CSS. Your mission? To create a portal that takes us on an exciting journey through our very own corner of the universe - our solar system!
You will get to build and partially design a web application that takes the user on a fascinating journey through the solar system. Your application will function as a sort of space encyclopedia, where the user can explore and learn more about our closest neighbors in space - the planets!
Here you will create a navigation containing all of the celestial bodies that you fetch from the provided API, by following this Figma sketch (you could use the design from the header image of this task). All celestial bodies should be relatively proportional in size to each other. A click on a planet should redirect the user to the Single Planet Page. You must add a link to the Favorites Page.
Here you will incorporate the design from the Figma sketch. Depending on witch planet you have clicked on, the color of the planet should vary. The transparent star background can be found in the assets-folder. You must also add a button where your user can add this planet to his/her favorites. If the visited planet is already a favorite, the button can be used to remove the planet from his/her favorites. You should also create a link back to the Home Page.
Here you get to choose your own design, but the theme should be in the same universe as the Figma sketches. Here the user will be able to see witch planets that are in his/her favorites list. A click on one of the planets here will redirect the user to the Single Planet Page for that planet. There must be a link on this page that takes the user back to the Home Page.
Base URL
https://n5n3eiyjb0.execute-api.eu-north-1.amazonaws.com/
Methods | enpoint | method | desc |
---|---|---|---|
/keys | POST | returns an API key. | |
/bodies | GET | returns all large celestial bodies in our solar system. |
Authentication
The API is secured with an API key. Any GET request without a valid key will result in a 401 error.
To obtain read permissions, you must include the header x-zocom
with a valid API key in your request.
Ex.
let resp = await fetch('https://n5n3eiyjb0.execute-api.eu-north-1.amazonaws.com/bodies', {
method: 'GET',
headers: {'x-zocom', '<solaris-key-here>'}
})
Model
property | data type | unit |
---|---|---|
id | number | - |
type | string | Star & planet |
name | string | Name of celestial body |
latinName | string | Latin name of celestial body |
rotation | number | Length of day in number of Earth days to rotate around its own axis |
circumference | number | Circumference in km |
temp | Object | Temperature day and night in celcius. |
distance | number | km from the sun |
orbitalPeriod | Number | Number of Earth days around the sun |
desc | string | Description of celestial body |
moons | Array | List with names of the belonging moons |
Data Example
{
id: 2,
type: 'planet',
name: 'Venus',
latinName: 'Venus',
rotation: 116,
circumference: 38025,
temp: {
day: 430,
night: -173
},
distance: 10820000,
orbitalPeriod: 225,
desc: 'Venus har ...',
moons: []
}
Your Public group repository is to be sent to Jesper on teams no later than 11:59 on 9/8. In the afternoon, some sort of presentation will be conducted (I will provide you with the details later).
Andrej, Alexandros, Arbnor, Isabelle
Max, Boel, Sara, Nunzia
Rasmus, Sofia, Jonatan, Johan S
Nino, Lovisa, Veselin, Joel, Hektor
Johan A, Mikalea, Yulia, Mattias
Erik, Fanny, Jessica, Anton
Anna, Tatiana, Michael, Louise