Simple project for evaluate frontend skills. Complete all tasks and submit a pull-request to proceed.
Clone this repo and install project dependencies.
pnpm i
# npm installStart web and mock API server running concurrently start and dev scripts.
pnpm dev
# npm run devAnd in a new terminal window:
pnpm start
# npm run startOr simply:
pnpm start-dev
# npm run start-devNow your dev sever respond to http://localhost:3000/ and your mock API server to http://localhost:3001/todo
# list
GET http://localhost:3001/todo
# pagination
GET http://localhost:3001/todo?_limit=10&_page=1
# filter
GET http://localhost:3001/todo?state=done
# fulltext
GET http://localhost:3001/todo?_q=test
# detail
GET http://localhost:3001/todo/1
# create a new todo
POST http://localhost:3001/todo
# update a todo
PUT http://localhost:3001/todo/1
# delete a todo
DELETE http://localhost:3001/todo/1
# auth
GET|POST|PUT|DELETE http://localhost:3001/660/todo
# login
POST http://localhost:3001/login
{
"email": "johndoe@24consulting.it",
"password": "24consulting"
}
# register
POST http://localhost:3001/register
{
"email": "everyman@24consulting.it",
"password": "e5BWqM"
}must: Must be done to pass the test.
should: Could be skipped but is reccomended.
may: Not necessary but adds points.
no: Should not be done.
- SCSS (must);
- ES6 (must);
- Test (should);
- Auth with access token (should);
- Typescript (may);
- Boilerplate with Vite, Prettier, Stylelint and ESLint (may);
- JS Framework (may);
- State management (may);
- Routing (may);
- Framework CSS / Component library (no).
- must: Create the Todo list fetching data from API;
- should: Paginate the Todo list with _page and _limit query parameters.
- must: Filter Todo by state;
- should: Filter the Todo list by a fulltext search with query parameter _q.
- should: Call the API with an access token auth;
- may: User register interface;
- may: Login interface;
- may: Token persistence on page refresh.
- must: Add a Todo with POST;
- should: Do the POST request with an access token.
- must: Edit a Todo with PUT;
- should: Do the PUT request with an access token.
- must: Delete a Todo with DELETE;
- should: Do the DELETE request with an access token.
- should: Use a Google Font inside the project.
- may: Add an e2e test.