A collection of React learning projects built with Vite and Tailwind CSS.
A simple background color changer application that demonstrates:
- State management with
useState - Event handling
- Dynamic styling
- Tailwind CSS styling
Location: bg-changer/
A password generator with customizable options:
- Generate passwords with customizable length
- Include/exclude numbers and special characters
- Copy to clipboard functionality
- Uses
useState,useCallback,useEffect, anduseRefhooks
Location: Password_Generator/
A currency converter using a real-time API:
- Convert between multiple currencies
- Real-time exchange rates via API
- Swap currency functionality
- Component composition
Location: Currency_Converter/
A fully-featured todo list application:
- Add, delete, and mark todos as complete
- Filter todos (All, Active, Completed)
- Clear completed todos
- Persistent storage with localStorage
- Beautiful gradient UI with smooth animations
- Responsive design
Location: Todo_List/
A full-featured shopping cart application:
- Browse, search, and filter 12 products across 4 categories
- Sort products by price or rating
- Add/remove items and adjust quantities
- Live order summary with tax and free-shipping threshold
- Persistent cart with localStorage
- Multi-page navigation with React Router
- Global cart state with Context API + useReducer
Location: Shopping_Cart/
New concepts: useReducer, useContext, useMemo, React Router (BrowserRouter, Routes, Route, Link), custom hooks
- Node.js (version 14 or higher)
- npm or yarn
Each project is self-contained in its own directory. To run any project:
- Navigate to the project directory:
cd <project-directory>- Install dependencies:
npm install- Run the development server:
npm run dev- Open your browser and navigate to the URL shown in the terminal (usually
http://localhost:5173/)
Each project has the following npm scripts:
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
All projects use:
- React 18.3.1 - UI library
- Vite 7.3.1 - Build tool and dev server
- Tailwind CSS 3.4.x - Utility-first CSS framework
- ESLint - Code quality and linting
Each project follows a similar structure:
project-name/
├── public/
├── src/
│ ├── assets/
│ ├── App.css
│ ├── App.jsx
│ ├── index.css
│ └── main.jsx
├── .eslintrc.cjs
├── .gitignore
├── index.html
├── package.json
├── postcss.config.js
├── tailwind.config.js
├── vite.config.js
└── README.md
These projects are designed to progressively teach React concepts:
- bg-changer - Basic state and event handling
- Password_Generator - Multiple hooks and side effects
- Currency_Converter - API integration and component composition
- Todo_List - Complete CRUD operations, filtering, and data persistence
- Shopping_Cart - React Router, Context API + useReducer, useMemo, custom hooks
These are learning projects and are free to use for educational purposes.