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.
- 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
anduseStarshipStore.ts
for managing authentication and starship data using Zustand.
- 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.
- Clone the repository to your local machine.
- Navigate to the project directory.
- Run
npm install
to install the dependencies. - Start the development server using
npm run dev
.
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.