Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/james-langridge/space-is-cool

User interface to view, search, and save photos taken by NASA's rovers on Mars, made with Next.js 14 (App Router), React Server Components, Tailwind CSS, and shadcn/ui.
https://github.com/james-langridge/space-is-cool

nasa nasa-api nasa-rovers nextjs react rsc shadcn-ui space typescript vercel

Last synced: 1 day ago
JSON representation

User interface to view, search, and save photos taken by NASA's rovers on Mars, made with Next.js 14 (App Router), React Server Components, Tailwind CSS, and shadcn/ui.

Awesome Lists containing this project

README

        

## About The Project

This is a user interface to view, search, and save photos taken by
NASA's rovers on Mars, which are made public via the [Mars Rovers Photos API](https://api.nasa.gov/#mars-rover-photos), made with Next.js 14 (App Router), React Server Components, Tailwind CSS, and TypeScript.
## Routes
┌ ○ /
├ ○ /favourites
├ λ /manifests
├ λ /manifests/[rover]
├ λ /manifests/[rover]/photos
├ λ /photo/[id]
├ λ /photo/favourites
├ ○ /search
├ λ /search/[rover]
├ λ /search/[rover]/[date]
└ λ /search/[rover]/[date]/[camera]

○ (Static) prerendered as static content
λ (Dynamic) server-rendered on demand using Node.js

[View demo](https://space-is-cool.vercel.app/).

## Screenshots from mobile device

Search form screenshot 
Search results screenshot 
Full size photo screenshot


Photo info screenshot 
Rover manifest summary 
Rover manifest full

## Run it locally

### Prerequisites

- Get a [NASA developer key](https://api.nasa.gov/#signUp).

### Installation

1. Clone the repo
```sh
git clone https://github.com/james-langridge/space-is-cool.git
```

2. Install NPM packages
```sh
npm install
```

3. Copy `.env.local.example` to `.env.local` and add your API key.
```sh
cp .env.local.example .env.local
```

6. Start the development server:
```sh
npm run dev
```

## Deploy your own

You can clone and deploy this project on Vercel using the button below.

[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fjames-langridge%2Fspace-is-cool&env=NASA_API_KEY,NASA_BASE_URL&envDescription=API%20key%20and%20base%20url%20for%20NASA%20photos&envLink=https%3A%2F%2Fgithub.com%2Fjames-langridge%2Fspace-is-cool%23run-it-locally&demo-title=Space%20is%20Cool&demo-description=A%20UI%20to%20view%2C%20search%2C%20and%20save%20photos%20taken%20by%20NASA's%20rovers%20on%20Mars.&demo-url=https%3A%2F%2Fspace-is-cool.vercel.app%2F&demo-image=https%3A%2F%2Fspace-is-cool.vercel.app%2Fsearch.PNG)

See the [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.

## License

Code distributed under the [MIT License](https://github.com/james-langridge/space-is-cool/blob/main/LICENSE).