Skip to content

nicoleloupias/star-wars-planet-mgmt

Repository files navigation

Planet Management System

ezgif-1-d0b4288954

Table of Contents

About

The Planet Management System is a React application developed using Vite and TypeScript. This application allows users to manage and explore different planets of Star Wars world easily.

You can see it live here

Features

  • Add, edit, and delete planets
  • View detailed information about each planet
  • Search planets
  • Sort planets
  • Client side pagination on planets
  • Responsive design

Setup and Usage

Prerequisites

Make sure you have the following installed on your system:

Installation

  1. Clone the repository:
  git clone https://github.com/nicoleloupias/star-wars-planet-mgmt.git
  cd star-wars-planet-mgmt
  1. Install the dependencies:
  npm install
  # or
  yarn install

Running the project

To start the development server, first copy the .env.demo file

  cp .env.demo .env

Then run the following command:

  npm run dev
  # or
  yarn dev

This will start the application at http://localhost:5173

Testing

  npm run test
  # or
  yarn test

To generate a test coverage report, use:

npm run coverage
# or
yarn coverage

Docker

To get the docker image running, make sure to have Docker installed and running.

Then run:

npm run docker
# or
yarn docker

You should see the application running in http://localhost:80

Future Improvements

  • Add i18n for translations.
  • Improve services error handling.
  • MSW handlers with mocks from outside file, split handlers for each service.
  • Server side pagination.
  • Remove initial getAll from App (This was added to make it easier for this initial version)
  • Implement getById in PlanetService (This wasn't added to make this initial version simpler)
  • Use of Suspense and skeletons.
  • Implement sorting descending.
  • Router paths in constants.
  • Add more testing to hooks, router, services and utils.
  • Get endpoint urls from constant instead of raw strings.
  • Add precommit hook

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages