Sprint8 Project

Description

This project, named "Sprint8," is a dynamic web application built using modern front-end technologies. It's designed to provide a responsive and interactive user experience, leveraging the capabilities of React and Zustand for state management.

Key Features

  • Home Page (Home.tsx): The main landing page of the application.
  • Sign In Page (SignIn.tsx): A dedicated authentication page for user sign-in.
  • Starship Details (StarshipDetails.tsx): A detailed view of individual starships.
  • Starships List (Starships.tsx): A comprehensive list of starships, showcasing the use of external API data.
  • Not Found Page (NotFoundPage.tsx): A user-friendly 404 error page for unhandled routes.
  • State Management: Utilizes useAuthStore.ts and useStarshipStore.ts for managing authentication and starship data using Zustand.

Technologies Used

  • React: For building the user interface.
  • Zustand: For state management across the application.
  • Axios: For making API requests.
  • TypeScript: As the primary programming language to enhance code quality and maintainability.
  • Framer Motion: To add smooth and natural animations.
  • React Router Dom: For routing and navigation within the application.
  • Vitest, Jest: For unit testing and ensuring code reliability.

Setup and Installation

  1. Clone the repository to your local machine.
  2. Navigate to the project directory.
  3. Run npm install to install the dependencies.
  4. Start the development server using npm run dev.

Scripts

  • npm run dev: Starts the development server.
  • npm run build: Builds the application for production.
  • npm run test: Runs unit tests.
  • npm run lint: Lints the codebase for potential issues.
  • npm run pt: Formats the code using Prettier.