This is a solution to the Todo app challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.
Note: Delete this note and update the table of contents based on what sections you keep.
Users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Add new todos to the list
- Mark todos as complete
- Delete todos from the list
- Filter by all/active/complete todos
- Clear all completed todos
- Toggle light and dark mode
- Drag and drop to reorder items on the list
- Solution URL: https://devddtodoapp.netlify.app
- Live Site URL: https://github.com/AdebayoMarzouq/dragDropTodo
- Semantic HTML5 markup
- CSS custom properties
- Flexbox
- CSS Grid
- Mobile-first workflow
- React - JS library
- Framer Motion - React animations library
- Tailwind CSS - For styles
- Animations using the framer motion library
- React hooks like the useRef and useContext hooks
- React Docs - This helped me with the hooks and other parts of the react library.
- Framer Motion Docs - Everything you need to implement beautiful animations and the reorder group and items can be found here.
- Frontend Mentor - @AdebayoMarzouq
- Twitter - @iammarzouq
This project was bootstrapped with Create React App.
In the project directory, you can run:
Installed all dependencies needed to run the app locally on your computer.
Runs the app in the development mode.
Open http://localhost:3000 to view it in your browser.
The page will reload when you make changes.
You may 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.