Skip to content

Latest commit

ย 

History

244 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ React Learning Journey

React JavaScript Vite Git License

A complete hands-on journey to learn React.js from fundamentals to advanced concepts.

This repository documents my progress while learning React through structured lessons, practical examples, challenges, and mini-projects.

The goal of this repository is not only to learn React concepts, but also to understand how professional React applications are designed, optimized, tested, and deployed.


๐Ÿ“Œ About This Repository

React Learning Journey is a structured learning repository that covers:

  • React fundamentals
  • Modern React hooks
  • Component architecture
  • State management
  • Routing
  • Performance optimization
  • Testing
  • Deployment
  • Professional project structure

Each lesson contains:

  • ๐Ÿ“š Concept explanation
  • ๐Ÿ’ป Practical implementation
  • ๐Ÿงฉ Challenges
  • ๐Ÿ—๏ธ Mini projects
  • ๐Ÿ“ Git commits for progress tracking

๐Ÿ› ๏ธ Technologies Used

Core

  • React.js
  • JavaScript ES6+
  • JSX
  • HTML5
  • CSS3

Development Tools

  • Vite
  • npm
  • VS Code
  • Git & GitHub

React Ecosystem

  • React Router
  • Context API
  • React Hooks
  • React Testing Library
  • Vitest

๐Ÿ“‚ Project Structure

src/
โ”‚
โ”œโ”€โ”€ assets/
โ”‚
โ”œโ”€โ”€ challenges/
โ”‚   โ”œโ”€โ”€ 01-jsx
โ”‚   โ”œโ”€โ”€ 02-components
โ”‚   โ”œโ”€โ”€ 03-props
โ”‚   โ”œโ”€โ”€ 04-state
โ”‚   โ”œโ”€โ”€ 05-events
โ”‚   โ”œโ”€โ”€ 06-conditional-rendering
โ”‚   โ”œโ”€โ”€ 07-lists-and-keys
โ”‚   โ”œโ”€โ”€ 08-useEffect
โ”‚   โ”œโ”€โ”€ 09-api-calls
โ”‚   โ”œโ”€โ”€ 10-custom-hooks
โ”‚   โ”œโ”€โ”€ 11-forms
โ”‚   โ”œโ”€โ”€ 12-react-router
โ”‚   โ”œโ”€โ”€ 13-context-api
โ”‚   โ”œโ”€โ”€ 14-useReducer
โ”‚   โ””โ”€โ”€ 15-performance-optimization
โ”‚
โ”œโ”€โ”€ lessons/
โ”‚   โ”œโ”€โ”€ 01-jsx
โ”‚   โ”œโ”€โ”€ 02-components
โ”‚   โ”œโ”€โ”€ 03-props
โ”‚   โ”œโ”€โ”€ 04-state
โ”‚   โ”œโ”€โ”€ 05-events
โ”‚   โ”œโ”€โ”€ 06-conditional-rendering
โ”‚   โ”œโ”€โ”€ 07-lists-and-keys
โ”‚   โ”œโ”€โ”€ 08-useEffect
โ”‚   โ”œโ”€โ”€ 09-api-calls
โ”‚   โ”œโ”€โ”€ 10-custom-hooks
โ”‚   โ”œโ”€โ”€ 11-forms
โ”‚   โ”œโ”€โ”€ 12-react-router
โ”‚   โ”œโ”€โ”€ 13-context-api
โ”‚   โ”œโ”€โ”€ 14-useReducer
โ”‚   โ””โ”€โ”€ 15-performance-optimization
โ”‚
โ”œโ”€โ”€ App.jsx
โ”œโ”€โ”€ main.jsx
โ””โ”€โ”€ index.css

๐Ÿ“š Learning Roadmap

๐ŸŸข React Fundamentals

01 - JSX

Learn:

  • JSX syntax
  • Embedding JavaScript
  • Expressions
  • JSX rules
  • Rendering elements

02 - Components

Learn:

  • Functional components
  • Component composition
  • Reusable UI
  • Component organization

03 - Props

Learn:

  • Passing data between components
  • Props destructuring
  • Children props
  • Reusable components

04 - State

Learn:

  • useState hook
  • State updates
  • Managing component data
  • State-driven UI

05 - Events

Learn:

  • Event handling
  • Click events
  • Form events
  • Event functions

06 - Conditional Rendering

Learn:

  • if statements
  • Ternary operators
  • Logical rendering
  • Dynamic UI

07 - Lists and Keys

Learn:

  • Rendering arrays
  • map()
  • Keys
  • Dynamic components

08 - useEffect

Learn:

  • Side effects
  • Lifecycle behavior
  • Dependencies
  • Cleanup functions

09 - API Calls

Learn:

  • Fetch API
  • Async/Await
  • Loading states
  • Error handling

10 - Custom Hooks

Learn:

  • Creating reusable logic
  • Custom hooks patterns
  • useFetch
  • useCounter

11 - Forms

Learn:

  • Controlled components
  • Form handling
  • Validation
  • Multiple inputs

12 - React Router

Learn:

  • BrowserRouter
  • Routes
  • Route parameters
  • Navigation
  • Protected routes basics

13 - Context API

Learn:

  • Global state
  • createContext
  • Provider pattern
  • useContext

14 - useReducer

Learn:

  • Reducer pattern
  • Actions
  • Dispatch
  • Complex state management

15 - Performance Optimization

Learn:

  • React.memo
  • useMemo
  • useCallback
  • Preventing unnecessary renders

๐Ÿงฉ Challenges

Each lesson includes practical challenges to apply the concept.

Examples:

State Challenge

Build:

  • Counter application
  • Theme switcher
  • User profile editor

API Challenge

Build:

  • User list
  • Search functionality
  • Loading and error states

Forms Challenge

Build:

  • Registration form
  • Validation system
  • Contact form

๐ŸŽฏ Learning Goals

By completing this repository, I aim to:

โœ… Understand React fundamentals deeply

โœ… Build reusable components

โœ… Manage application state effectively

โœ… Work with APIs

โœ… Create scalable React structures

โœ… Write cleaner and maintainable code

โœ… Understand modern React development practices

โœ… Prepare for real-world React projects


๐Ÿš€ Running The Project

Clone Repository

git clone https://github.com/HaithamAbuDraz/react-learning-journey.git

Navigate

cd react-learning-journey

Install Dependencies

npm install

Start Development Server

npm run dev

๐Ÿ“ˆ Progress

React Fundamentals

โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ 100%

Lessons Completed: 15/15

Status: Completed โœ…

๐Ÿ”ฎ Future Learning Path

After completing React fundamentals, the next advanced topics will include:

  • TypeScript with React
  • Advanced React Hooks
  • React Design Patterns
  • Redux Toolkit
  • TanStack Query
  • Authentication
  • React + Node.js
  • Next.js
  • Advanced Performance Optimization
  • Production React Applications

๐Ÿ† Repository Highlights

โญ Structured learning path

โญ Practical coding examples

โญ Challenges for every topic

โญ Clean folder organization

โญ Git-based progress tracking

โญ Beginner โ†’ Professional progression


๐Ÿ‘จโ€๐Ÿ’ป Author

Haitham Abu Draz

Software Engineering Student | React Developer

GitHub

LinkedIn


โญ Support

If this repository helped you learn React, consider giving it a โญ on GitHub.

Learning never stops. Keep building ๐Ÿš€

About

A complete React.js learning journey from fundamentals to advanced concepts, including hooks, state management, routing, testing, optimization, and deployment with practical examples and challenges.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages