The purpose of this project was to build an app to help share photos from any of NASA's image APIs. I chose the Astronomy Picture of the Day (APOD) API for this project.
Live version is here.
- Image Cards
- Each card component displays an image, its date, like button, share button (copies a link to that date's post), and an explanation with ellipsis functionality.
- Posts
- View the whole image, copyright, title, explanation, and like or share while you browse the Post Page for a particular date.
- Search
- Through the Search page you can query the APOD API for only image posts from the last 24 hours, week, month, or year.
- Likes
- Liked posts are saved in the browser's local storage
- View all your liked posts from the Likes Page
- Light and Dark Themes
- Includes a light and dark theme you can choose from.
- Selecting a theme stores your choice in the browser's local storage.
- The App detects and sets the initial theme based on your device's preferred color scheme.
- Download NodeJs if it's not already installed
- Download the Netlify CLI if it's not already installed
- Use
npm install
in the root folder - Add a
.env
file in the root folder with the contentsAPI_KEY=key_here
wherekey_here
is a NASA API key which can be gotten here.
- Use
netlify dev
to launch locally
- Import project from Github to Netlify
- Under Environment variables add the following variables:
API_KEY
with the API keyBACKEND_SERVER_PORT
with the server port. You can set it to 5000.CI
and set it to false so the build doesn't stop when a warning is encountered.