Skip to content

james-langridge/space-is-cool

Repository files navigation

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, 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.

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

Installation

  1. Clone the repo

    git clone https://github.com/james-langridge/space-is-cool.git
  2. Install NPM packages

    npm install
  3. Copy .env.local.example to .env.local and add your API key.

    cp .env.local.example .env.local
  4. Start the development server:

    npm run dev

Deploy your own

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

Deploy with Vercel

See the Next.js deployment documentation for more details.

License

Code distributed under the MIT License.

About

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.

Topics

Resources

License

Stars

Watchers

Forks