Star Wars Clone

This project is developed by myself for the Patika.dev FMSS Bilişim Front-end Practicum Final Case assignment.

I aimed to develop a production-grade application therefore I developed this project using Next.js and Typescript.

Next/Image optimizes images with lazy loading.

All module css files are in styles folder.

I used SWAPI for Star Wars data. SWAPI does not provide any image because of that I used data/Image.json file that holds Image URL data.

I implemented SSG (Static-site generation) in Starship Detail pages using getStaticProps() and getStaticPaths() from Next.js

Layout is fully responsive and mobile compatible.

Features

  • Listing sharships and characters
  • Search among starships and characters
  • Read details of a specific starship or character
  • Load more starships or characters with a load more button

Used Libraries

  • React
  • Next.js
  • Axios
  • React Icons

This is a Next.js project bootstrapped with create-next-app.

Screenshots

Starships

Starships

Starships: Filtered Results

Starships: Filtered Results

Starships: Detail Page

Starships: Detail Page

Characters

Characters

Characters: Filtered Results

Characters: Filtered Results

Characters: Detail Page

Characters: Detail Page

Getting Started

Static-site generation doesn't work on development mode, we generate detail pages as static html files.

Install NPM packages

npm install

Build app for production

npm run build

Start app in production mode

npm run start