University of Toronto - Project 01 - Team 12 - Exploring Mars app
The web page provides an interactive experience for users interested in space and Mars exploration. The main sections, "Mission Control" and "Captain's Log", are designed to provide a comprehensive overview of space and Mars-related content.
The Mission Control section is particularly noteworthy, as it offers two sub-sections:
The Space Exploration section allows users to delve deeper into the vast expanse of space by viewing images taken on a selected date range. This feature is perfect for anyone interested in learning more about the cosmos.
The Mars Exploration section, on the other hand, provides a unique look at the Red Planet through the eyes of NASA's Mars Rover. Users can select a date and camera angle to view images captured on the rover's journey. This section is ideal for anyone who wants to see the Martian landscape from different angles.
The images are displayed in an "orbit" - a carousel - so that the user can scroll through them. With this web page, users will have access to a wealth of information and resources about space and Mars.
Below is the image of the application.
Below is the image of the application when the user clicks into Mission Control.
Below is the image of the application when user has selected space exploration
Below is the image of the application when user has selected Mars exploration
Below is the image of Captain's log
No installation requirements. Click here to open the webpage in your default browser.
The following discusses at a high level about some of the features of the website. Detailed code implementation can be found as comments in the JS files.
The entire website is based on the Foundation CSS framework. Most notably:
The captain's log table is a DataTable. That means the table is automatically paginated and displayed based on the number of rows as selected in the drop down box. In turn the table is a listing of accordion containers that have within them the stored images form local storage
The application is using two NASA API's
Therefore, in some searches no images are returned. For the purposes of demonstration, Jan 27, 2023 is the date where all the cameras have taken images.
Local storage is based on a unique mission ID. The mission ID is the unix timestamp of then the user has clicked on the Start Mission button. The other item stored in local store is the images returned from the API call or the stock image in case the API has not returned images.
Local storage is always updated as that represents "new mission."
Dayjs is used for all day handling and format in the application. The Dayjs unix timestamp method has been used to arrive at the mission dates.
MIT License
Below are some thoughts for future upgrades: