You will create a React Project from Scratch... this is just an example.
Create a small note pad app that lets a submit a small form with their name, date, and small note to remember.
Once submitted the note should appear in a nicely styled notes, and be added to the list of notes displayed on the screen.
Please see a very basic example here: https://damonspencerroberts.github.io/React-Note-Pad-Exercise/
-
Input
-
TextArea
-
Header
-
Button
-
Form
Needs to include
- Input type text
- Input type date
- TextArea
- Button for submitting
- Corner exit button to exit out of form
-
Notes component that will handle listing the specific notes.
-
Note component that will be the specific note.
- User can type their name, the date and their note inside a form and be able to submit the form.
- Validation will verify that no fields are empty and only submit the form if all fields are filled.
- The user should have a button that allows them to add a new note that will display the form.
- User can close the form by clicking on an exit button.
- Notes should be displayed with a nice list of note cards.
- If there are no notes display ‘No notes yet’ message to the user.
- There should be a way to sort the notes by date associated with the note.
- There should be a way to update a specific note.
- There should be a way to delete a specific note.
- useState
- useEffect
- Note: Create you own hooks if you want 🙂
Create a React app with
npx create-react-app [app-name]
cd [app-name]
npm start
Use Packages
-
Styled components
-
Uuid uuid
Note: use any other packages that you find that might be relavent.
Bonus:
- Colour randomiser for the note background
- When adding a note have a random background color.
- Different validation schema
- Only certain letters/numbers etc.
- Using redux for state management
- Using
useContext
for state management - Awesome designs → More text, headers anything you want be creative
- More fields as inputs
- Add a database to persist the data
- Add Jest and test your components, and hooks.