- Visit the deployed project here
-
clone the project
-
cd backend
-
run
npm install
-
run
npm start
-
cd frontend
-
run
npm install
-
run
npm run dev
The API is a simple express server that serves a list of ships. The API has a few endpoints: "/" - serves a homepage "/login" - serves a login page "/ships" - serves a list of ships "/ships/:id" - serves a single ship (restricted to authenticated users) "/characters" - serves a list of characters "/characters/:id" - serves a single character (restricted to authenticated users)
Create a simple React application that fetches data from an API and displays it. The application should have the following features:
- A list of items fetched from the API
- Tailwind CSS for styling
- Authentication using JWT
- Access to the Ships API should be restricted to authenticated users
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
- Configure the top-level
parserOptions
property like this:
export default {
// other rules...
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
project: ["./tsconfig.json", "./tsconfig.node.json", "./tsconfig.app.json"],
tsconfigRootDir: __dirname,
},
};
- Replace
plugin:@typescript-eslint/recommended
toplugin:@typescript-eslint/recommended-type-checked
orplugin:@typescript-eslint/strict-type-checked
- Optionally add
plugin:@typescript-eslint/stylistic-type-checked
- Install eslint-plugin-react and add
plugin:react/recommended
&plugin:react/jsx-runtime
to theextends
list