Skip to content

A comprehensive collection of React projects showcasing my learning journey from basics to advanced concepts. This monorepo contains multiple React applications built with Vite, demonstrating various concepts, libraries, and best practices.

Notifications You must be signed in to change notification settings

YUVRAJRANA10/Road_to_React

Repository files navigation

πŸš€ Road to React

A comprehensive collection of React projects showcasing my learning journey from basics to advanced concepts. This monorepo contains multiple React applications built with Vite, demonstrating various concepts, libraries, and best practices.

πŸ“ Project Structure

Road_to_React/
β”œβ”€β”€ πŸ“¦ package.json              # Root package.json with monorepo scripts
β”œβ”€β”€ πŸ”§ vercel.json               # Vercel deployment configuration
β”œβ”€β”€ πŸ“ README.md                 # This file
β”œβ”€β”€ πŸ™ˆ .gitignore               # Git ignore rules
β”‚
β”œβ”€β”€ πŸ“± React Projects (Vite):
β”‚   β”œβ”€β”€ 02counter/               # Simple counter app
β”‚   β”œβ”€β”€ background-changer/      # Dynamic background color changer
β”‚   β”œβ”€β”€ Calculator/              # Calculator application
β”‚   β”œβ”€β”€ CurrencyConverter/       # Real-time currency converter
β”‚   β”œβ”€β”€ password-generator/      # Secure password generator
β”‚   β”œβ”€β”€ React-router-site/       # React Router demonstration
β”‚   β”œβ”€β”€ tailwind-props-react/    # Tailwind CSS with props
β”‚   └── vite-react/             # Basic Vite React setup
β”‚
β”œβ”€β”€ πŸ“± Classic React:
β”‚   └── 0basicreact/            # Create React App project
β”‚
└── πŸ”§ Custom Implementation:
    └── customReact/            # Custom React implementation

πŸš€ Quick Start

Prerequisites

  • Node.js (β‰₯18.0.0)
  • npm (β‰₯8.0.0)
  • Git

Installation

# Clone the repository
git clone https://github.com/YUVRAJRANA10/Road-to-React.git
cd Road-to-React

# Install all dependencies
npm run install:all

Development

Run individual projects:

# Counter App
npm run dev:counter

# Background Changer
npm run dev:background-changer

# Calculator
npm run dev:calculator

# Currency Converter
npm run dev:currency-converter

# Password Generator
npm run dev:password-generator

# React Router Site
npm run dev:router-site

# Tailwind Props Demo
npm run dev:tailwind-props

# Basic Vite React
npm run dev:vite-react

Build projects:

# Build all projects
npm run build:all

# Build individual projects
npm run build:counter
npm run build:currency-converter
# ... and so on

πŸ“‹ Project Details

Main Vite Projects

Project Description Tech Stack Live Demo
React Router Site Multi-page application with routing React, React Router, Tailwind CSS Live Demo
Currency Converter Real-time currency conversion React, API Integration, Tailwind CSS Live Demo
Background Changer Dynamic background color picker React, useState Hook Coming Soon
Password Generator Secure password generator with options React, useState, useEffect Coming Soon
Counter App Simple increment/decrement counter React, useState Hook Coming Soon
Calculator Basic calculator application React, useState Hook Coming Soon
Tailwind Props Component props with Tailwind styling React, Tailwind CSS, Props Coming Soon

Learning Projects

Project Description Purpose
Basic React Create React App setup Understanding React basics
Custom React Custom React implementation Learning React internals
Vite React Basic Vite setup Modern build tool familiarity

πŸ› οΈ Technologies Used

  • Frontend Framework: React 19+
  • Build Tool: Vite 7+
  • Styling:
    • Tailwind CSS
    • Vanilla CSS
  • Routing: React Router DOM
  • Development Tools:
    • ESLint
    • PostCSS
    • Autoprefixer
  • Deployment: Vercel

πŸ“š Learning Concepts Covered

React Fundamentals

  • βœ… Components and JSX
  • βœ… Props and State
  • βœ… Event Handling
  • βœ… Conditional Rendering
  • βœ… Lists and Keys

React Hooks

  • βœ… useState
  • βœ… useEffect
  • βœ… Custom Hooks
  • βœ… useCallback
  • βœ… useMemo

Advanced Concepts

  • βœ… React Router
  • βœ… API Integration
  • βœ… Form Handling
  • βœ… Component Composition
  • βœ… State Management

Styling & UI

  • βœ… Tailwind CSS
  • βœ… Responsive Design
  • βœ… Component Styling
  • βœ… CSS Modules

πŸš€ Deployment

This monorepo is configured for individual project deployments on Vercel. Each project folder is deployed as a separate application with its own domain.

Individual Project Deployments

Each project gets its own Vercel deployment:

Project Live Demo Repository Folder
React Router Site Live Demo React-router-site/
Currency Converter Live Demo CurrencyConverter/
Background Changer Coming Soon background-changer/
Password Generator Coming Soon password-generator/
Tailwind Props Coming Soon tailwind-props-react/
Counter App Coming Soon 02counter/

Quick Deploy Commands

# Deploy from root directory
npm run deploy:router-site
npm run deploy:currency-converter
npm run deploy:background-changer
npm run deploy:password-generator
npm run deploy:tailwind-props
npm run deploy:counter

Manual Deployment

# Navigate to any project folder and deploy
cd React-router-site
vercel --prod

πŸ“– For detailed deployment instructions, see DEPLOYMENT.md

πŸ”§ Monorepo Management

Available Scripts

# Development
npm run dev                    # Show available dev commands
npm run dev:<project-name>     # Run specific project

# Building
npm run build:all             # Build all projects
npm run build:<project-name>  # Build specific project

# Maintenance
npm run install:all           # Install all dependencies
npm run clean:all            # Clean all build artifacts

πŸ“ Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

YUVRAJ RANA

🎯 Future Plans

  • Add testing with Jest and React Testing Library
  • Implement state management with Redux/Zustand
  • Add TypeScript to projects
  • Create more advanced projects
  • Add performance optimization examples
  • Implement PWA features

This repository represents my learning journey in React development. Each project builds upon previous concepts and introduces new ones. Feel free to explore, learn, and contribute!

About

A comprehensive collection of React projects showcasing my learning journey from basics to advanced concepts. This monorepo contains multiple React applications built with Vite, demonstrating various concepts, libraries, and best practices.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published