The following task is a great opportunity to show us your experience, style, and the way you work - and impress us with your skills and knowledge. Familiarize yourself with the information below, set up the development environment, and once everything is up and running, click on the link labeled "Start Assignment" at the bottom or navigate to TASK.md
.
The application should display a list of moods provided by the API and allow a user to search, paginate, and submit their current mood. The current mood can consist of max three emotions, e.g. "Happy", "Excited", "Proud".
- You can take a look around the project and change every part of it, but all the tasks can be achieved by:
- Modifying the
App.tsx
- Creating and modifying files in
/components
,/src
folders.
- Modifying the
- We advise you to do the tasks in order, most of them build upon each other.
- Create a branch named
solution
. - Complete the tasks outlined in the
TASK.md
file on thesolution
branch. - Create a PR:
master
<-solution
. - Request a review from @skorupaw.
It's super important to follow the instructions exactly for completing the task. If you stray, your work might not get checked!
{
"node": ">= 18.0 < 18.19",
"npm": ">= 9.5"
}
In addition to running the application locally, this repository supports devcontainers
. If you are experiencing some problems with your local node installation, using devcontainers should give you much more reliable results.
Install the dependencies with npm
npm i
Start the dev server with the frontend application:
npm run dev
After that, the server should be running at: http://localhost:5173/
Now, you can choose a form of the backend API that you want you use while completing the assignment:
With REST:
Start the REST server with command:
npm run serve:rest
With GraphQL:
Start the GraphQL server with command:
npm run serve:graphql
-
We prefer a more straightforward solution relying on pure
react
than one depending on many external tools and libraries. -
You can use
NOTES.md
to write down your thoughts that you may have had while completing the task. You can present your point of view or explain your thought process. -
Please provide a copy of the checklist from
CHECKLIST.MD
and mark the implemented points. -
Please make sure that there are no console errors or bugs. It's better if some point is not delivered than if the implementation is buggy or incomplete.