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
- Add, edit, and delete planets
- View detailed information about each planet
- Search planets
- Sort planets
- Client side pagination on planets
- Responsive design
Make sure you have the following installed on your system:
- Clone the repository:
git clone https://github.com/nicoleloupias/star-wars-planet-mgmt.git
cd star-wars-planet-mgmt
- Install the dependencies:
npm install
# or
yarn install
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
npm run test
# or
yarn test
To generate a test coverage report, use:
npm run coverage
# or
yarn coverage
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
- 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