DEV Community

The Nerdy Dev
The Nerdy Dev

Posted on

10k+ views on my Full React Project Video

Recently, I released a video on making an Exercise Tracker Application using React.js. Today at the time of writing this article, it has crossed 10k+ views on YouTube.

Here is the link for the same if you want to get started with React but you are confused as to where to start from.

So check this out :

The features that we build in this course are :

1. Fetching the list of exercises from a local JSON Server
2. Create a New Exercise
3. Update an already existing exercise
4. Delete an existing exercise
5. Toggling the completion status of an exercise and showing it in visually.
6. Creating a filter component to filter the exercises based on the completion status - pending, all, completed.
and more.

⏱ Timestamps ⏱

πŸ“Œ let's start (0:00)
πŸ“Œ demo of our exercise tracker project (0:20)
πŸ“Œ a quick glance over the starter files (1:37)
πŸ“Œ setting up our starter project and installation (2:00)
πŸ“Œ whiteboard : deciding about the components for our project (2:15)
πŸ“Œ starting the project (7:20)
πŸ“Œ installation of json-server package & running it (7:36)
πŸ“Œ creating our first page component - homepage (9:05)
πŸ“Œ bringing our first hook into action - useState (9:23)
πŸ“Œ fetching data from our data source using another hook - useEffect (10:25)
πŸ“Œ installation and setting up react-router (13:50)
πŸ“Œ defining our first route : home page route(14:57)
πŸ“Œ seeing our fetched exercises in react-dev-tools extension (17:16)
πŸ“Œ starting with exercise list component (18:00)
πŸ“Œ passing our fetched exercises to the exercises list component as a prop (21:10)
πŸ“Œ creating an exercise item component (22:16)
πŸ“Œ using the exercise item in exercises list and passing exercise as a prop (25:15)
πŸ“Œ starting with delete exercise functionality (28:28)
πŸ“Œ whiteboard: understanding the process for deletion of item (29:35)
πŸ“Œ defining our delete exercise handler in home page component (32:16)
πŸ“Œ passing a pointer to our delete exercise handler as a prop to exercises list component (33:29)
πŸ“Œ forwarding the pointer to delete exercise handler as a prop further down to exercise item component (33:29)
πŸ“Œ ensuring the deletion of item gets reflected in our local JSON store (35:20)
πŸ“Œ starting with toggling the exercise completion status functionality (37:10)
πŸ“Œ defining our toggle exercise completion handler in home page component (38:29)
πŸ“Œ forwarding a pointer to our toggle exercise handler as a prop to exercises list component (41:45)
πŸ“Œ forwarding the pointer to our toggle exercise handler further down to our exercise item component (42:57)
πŸ“Œ invoking our toggle exercise completion handler via the on toggle exercise prop (43:08)
πŸ“Œ ensuring the toggling of the completion status gets reflected in our local JSON store (45:34)
πŸ“Œ laying out our create exercise form (49:44)
πŸ“Œ handling form submission for creating a new exercise (58:07)
πŸ“Œ using the useHistory hook to push the user back to home page on exercise creation (1:02:50)
πŸ“Œ creating the navbar component (1:04:37)
πŸ“Œ starting with edit exercise component (1:07:50)
πŸ“Œ creating a route for the edit exercise component using dynamic segment (1:09:20)
πŸ“Œ adding a router link for editing an exercise for an exercise item (1:09:53)
πŸ“Œ extracting the id of an exercise from the router params using the useParams hook (1:11:30)
πŸ“Œ using the id that we get from router params to load the exercise in our edit exercise component (1:13:19)
πŸ“Œ handling form submission for updating the populated exercise (1:16:41)
πŸ“Œ filtering the exercises based on their completion status (1:20:57)
πŸ“Œ creating our base filter component (1:21:40)
πŸ“Œ setting up a current filter state in our home page component (1:25:20)
πŸ“Œ creating an update exercise handler in our home page component (1:25:55)
πŸ“Œ passing a pointer to our update exercise handler down to base filter (1:26:56)
πŸ“Œ passing the current filter down to base filter (1:27:42)
πŸ“Œ using the current filter prop in base filter component to give extra styles to our navlinks (1:28:26)
πŸ“Œ using the filter to show exercises based on their completion status on home page (1:29:32)
πŸ“Œ end of the project (1:31:20)

So this is it for this article. Thanks for reading.
Don't forget to leave a like if you loved the article. Also share it with your friends and colleagues.

Alt Text

PS - If you are looking to learn Web Development, I have curated a FREE course for you on my YouTube Channel, check the below article :

Looking to learn React.js with one Full Project, check this out :

Support my channel:

πŸ’œ Join the Discord community πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦: https://discord.gg/fgbtN2a
Thank you! πŸ™


Follow me on:
πŸ‘‰ Twitter: https://twitter.com/The_Nerdy_Dev
πŸ‘‰ Instagram: https://instagram.com/thenerdydev

Discussion (0)