Skip to content

This repository documents my learning journey through John Smilga's React course on Udemy. The course provides a comprehensive path to mastering modern React development through hands-on projects.

Notifications You must be signed in to change notification settings

alberto-rj/js-react-course

Repository files navigation

πŸš€ React Tutorials and Projects - John Smilga

This repository documents my learning journey through John Smilga's React course on Udemy. The course provides a comprehensive path to mastering modern React development through hands-on projects.

πŸ“š Course Progression

βœ… Completed

  • React Fundamentals: Core concepts, JSX, components, props, events
  • Advanced React: Forms, controlled inputs, Uncontrolled inputs, context API, custom hooks, performance optimization: memoization, useMemo, useCallback, suspense API.
  • API Integration: Axios for HTTP requests, React Query for state management
  • CMS Integration: Contentful for dynamic content management

πŸ”œ Coming Soon

  • React Router: Advanced routing and navigation
  • Redux Toolkit: State management for larger applications
  • Tailwind CSS: Utility-first CSS framework integration
  • TypeScript: Type safety in React applications
  • React with TypeScript: Building type-safe React components
  • Next.js: Server-side rendering and static site generation

Each section includes practical, real-world projects to reinforce learning through application.

πŸ“‚ Repository Structure

πŸ“¦ js-react-course
β”œβ”€β”€ πŸ“‚ 01-fundamentals
β”œβ”€β”€ πŸ“‚ 02-backroads-project
β”œβ”€β”€ πŸ“‚ 03-advanced-react
β”œβ”€β”€ πŸ“‚ 04-fundamentals-projects
β”‚   β”œβ”€β”€ πŸ“‚ 01-birthday-buddy
β”‚   β”œβ”€β”€ πŸ“‚ 02-tours
β”‚   β”œβ”€β”€ πŸ“‚ 03-reviews
β”‚   β”œβ”€β”€ πŸ“‚ 04-accordion
β”‚   β”œβ”€β”€ πŸ“‚ 05-menu
β”‚   β”œβ”€β”€ πŸ“‚ 08-lorem-ipsum
β”‚   β”œβ”€β”€ πŸ“‚ 09-color-generator
β”‚   β”œβ”€β”€ πŸ“‚ 10-grocery-bud
β”‚   β”œβ”€β”€ πŸ“‚ 11-navbar
β”‚   β”œβ”€β”€ πŸ“‚ 12-sidebar-modal
β”‚   β”œβ”€β”€ πŸ“‚ 14-cart
β”œβ”€β”€ πŸ“‚ 05-axios
β”œβ”€β”€ πŸ“‚ 06-react-query
β”œβ”€β”€ πŸ“‚ 07-unsplash-images
β”œβ”€β”€ πŸ“‚ 08-contentful-cms

πŸ›  How to Run Locally

If you want to run any of these projects locally, follow these steps:

  1. Clone this repository:

    git clone https://github.com/alberto-rj/js-react-course.git
    cd js-react-course
  2. Navigate to the desired project directory:

    cd 04-fundamentals-projects/01-birthday-buddy
  3. Install dependencies:

    npm install
  4. Start the project:

    npm run dev

The project will run at http://localhost:5173 in your browser.

🌍 Backroads Project

This early project focuses on applying React fundamentals by converting a static HTML template into a component-based React application.

Project Key Learnings Live Demo
Backroads Project Converting a static HTML homepage into a dynamic React app, Component structure, Props usage, Conditional rendering πŸ”— Preview

πŸ“Œ Fundamental Projects

Each project focuses on essential React concepts, making it useful for beginners who want to practice or developers looking to explore specific implementations.

# Project Key Learnings Live Demo
01 Birthday Reminder useState, Conditional Rendering πŸ”— Preview
02 Tours useState, useEffect, Conditional Rendering πŸ”— Preview
03 Reviews useState πŸ”— Preview
04 Accordion useState, Conditional Rendering πŸ”— Preview
05 Menu useState, useEffect, useContext, createContext, Lists and Keys πŸ”— Preview
08 Lorem Ipsum useState, Lists and Keys, Events, Forms (Controlled Inputs) πŸ”— Preview
09 Color Generator useState, Conditional Rendering, Higher-Order Components, Lists and Keys πŸ”— Preview
10 Grocery Bud useState, Conditional Rendering, Lists and Keys, Events, Controlled and Uncontrolled Inputs πŸ”— Preview
11 Navbar useState, useEffect, useRef, Events πŸ”— Preview
12 Modal and Sidebar useState, useContext, Context API, Custom Hooks πŸ”— Preview
14 Cart useReducer, Context API, Custom Hooks πŸ”— Preview

πŸ“‘ Axios and React Query

Project Key Learnings Live Demo
Axios Efficiently handling API requests using Axios ❌ No live demo
React Query Managing asynchronous state and caching with React Query ❌ No live demo
Unsplash Images Implementing an image search API into a React app πŸ”— Preview

πŸ“¦ Contentful CMS

Project Key Learnings Live Demo
Contentful CMS Fetching and displaying dynamic content from Contentful πŸ”— Preview

🀝 Contributing

If you would like to contribute, feel free to:

  • Suggest improvements to the structure or code.
  • Add new features based on existing projects.
  • Report issues or bugs.

🎯 Notes

  • These projects were built following the course content and can be enhanced with new features.
  • The purpose of this repository is to serve as a learning guide for anyone who wants to practice React progressively.

Feel free to explore and contribute! πŸš€