This project was created for educational purposes.
Written using React and TypeScript.
To get jokes in JSON format was used Chuck Norris API
Application has the following features:
- Ability to get a random joke.
- Ability to get a random joke from categories (Use API to get all available categories).
- Ability to get jokes by free text search.
- Any joke can be marked/unmarked as favourite.
- Jokes marked as favourite appear in the right section Favourite.
- Favourite jokes is available after reloading the page and stored in the browser.
- Add a state manager to the implementation(for better testing functions and isolating state control logic)
- Improve the interaction process with manual joke search(Display message that no jokes were found)
- Add clearer typing and handling of server errors
- Improve accessibility with more WAI-ARIA
This project was bootstrapped with Create React AppView.
First of all, you will need Node.js of version 10.15.2
or compatible with it, npm version 6.14.4
or compatible, and git 2.20.1
or compatible.
Check if everything is OK by running npm -v
, node -v
and git --version
in the CLI
In the project directory, you can run:
This command helps to install all the necessary dependencies from the package.json
before another actions with the project
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
If you aren’t satisfied with the build tool and configuration choices, you can eject at any time. This command will remove the single build dependency from your project.
The predeploy
script will run automatically before deploy
is run.
This command allows you to deploy the project via GitHub Pages from the url with key "homepage"
in package.json
.
You can learn more in the Create React AppView documentation.