A comprehensive React learning resource with interactive examples, practical projects, and a complete development environment.
View Live Demo (Live on Vercel)
- Chapter 1: Introduction to React - Evolution, why React, comparison with alternatives, key concepts
- Chapter 2: Setting Up Your Development Environment - Node.js, npm, project bootstrapping, debugging tools
- Chapter 3: Core Concepts - JSX, components, props, state, data flow, event handling
- Chapter 4: Mastering Hooks - useState, useEffect, useContext, useMemo, useCallback, custom hooks
- Chapter 5: State Management Strategies - Context API, Redux, Zustand, React Query
- Chapter 6: Styling React Applications - CSS Modules, Styled Components, Tailwind CSS
- Chapter 7: Navigation and Routing - React Router, Next.js routing, protected routes
- Chapter 8: Working with APIs - Fetch API, Axios, React Query, REST vs. GraphQL
- Chapter 9: Testing and Code Quality - Jest, React Testing Library, Cypress, ESLint, Prettier
- Chapter 10: Performance and Optimization - Lazy loading, code splitting, memoization, profiling
- Chapter 11: Deployment and CI/CD - Vercel, Netlify, GitHub Actions, monitoring
- Chapter 12: Guided Projects - Todo App, Dashboard, E-commerce, Portfolio
- Chapter 13: Expanding Your Knowledge - Next.js, React Native, Server Components, future trends
- 10+ Chapters covering React fundamentals to advanced topics
- Well-commented code examples for every concept
- Practical exercises at the end of each chapter
- Real-world project implementations
- β Todo Application - CRUD operations, filtering, local storage
- π Interactive Dashboard - Data visualization, charts, responsive design
- π E-commerce Storefront - Product catalog, shopping cart, checkout
- π€ Portfolio Website - Professional portfolio with contact form
- β‘ Vite - Lightning-fast build tool
- π¨ Tailwind CSS - Utility-first CSS framework
- π Framer Motion - Smooth animations and transitions
- π Recharts - Beautiful data visualization
- π§ͺ Jest & Testing Library - Comprehensive testing setup
- π Storybook - Component development environment
- π Cypress - End-to-end testing
- TypeScript support for type safety
- ESLint & Prettier for code quality
- Husky for git hooks
- CI/CD ready with GitHub Actions
- Responsive design for all devices
- Dark mode support
- Node.js 16+
- npm or yarn
- Clone the repository
git clone https://github.com/michaelgermini/react-book.git
cd react-book
- Install dependencies
npm install
- Start the development server
npm run dev
- Open your browser
Navigate to
http://localhost:3000
(or the port shown in your terminal)
react-book/
βββ π chapters/ # Book content (Markdown files)
βββ π οΈ examples/ # Code examples by chapter
βββ π― src/
β βββ π pages/ # Interactive project pages
β βββ π§© components/ # Reusable components
β βββ π¨ styles/ # Global styles and Tailwind config
β βββ π main.jsx # Application entry point
βββ βοΈ config files # Vite, ESLint, Prettier, etc.
βββ π README.md # This file
# Development
npm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
# Testing
npm run test # Run unit tests
npm run test:watch # Run tests in watch mode
npm run test:coverage # Run tests with coverage
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint errors
npm run format # Format code with Prettier
npm run type-check # Run TypeScript type checking
# Storybook
npm run storybook # Start Storybook
npm run build-storybook # Build Storybook
# E2E Testing
npm run cypress:open # Open Cypress
npm run cypress:run # Run Cypress tests
# Setup
npm run setup # Install dependencies and format code
- β Add, edit, delete tasks
- π Filter by status
- πΎ Local storage persistence
- π¨ Smooth animations
- π Interactive charts and graphs
- π Real-time data visualization
- π± Responsive design
- π Dark mode support
- ποΈ Product catalog with search
- π Shopping cart functionality
- β€οΈ Wishlist management
- π³ Multi-step checkout
- π€ Professional portfolio layout
- π Skills visualization
- π Project showcase
- π§ Contact form
- React 18.2.0 - UI library
- TypeScript 4.9.0 - Type safety
- Vite 4.1.0 - Build tool
- Tailwind CSS 3.2.0 - Utility-first CSS
- Framer Motion 10.0.0 - Animations
- Heroicons 2.0.18 - Icons
- Zustand 4.3.0 - Lightweight state management
- React Query 4.29.0 - Server state management
- Redux Toolkit 1.9.0 - Predictable state container
- Recharts 2.5.0 - Chart library
- React Hook Form 7.43.0 - Form handling
- React Hot Toast 2.4.0 - Notifications
- Jest 29.4.0 - Testing framework
- React Testing Library 13.3.0 - Component testing
- Cypress 12.0.0 - E2E testing
- Storybook 6.5.0 - Component development
- ESLint 8.33.0 - Code linting
- Prettier 2.8.0 - Code formatting
- Husky - Git hooks
- Start with Chapter 1-3 for React fundamentals
- Build the Todo Application to practice core concepts
- Explore Chapter 4 for hooks mastery
- Study Chapter 5-7 for advanced patterns
- Implement the Dashboard project
- Learn Chapter 8-9 for API integration and testing
- Master Chapter 10-11 for performance and deployment
- Build the E-commerce and Portfolio projects
- Explore Chapter 12-13 for future trends
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- React Team for the amazing framework
- Vite Team for the lightning-fast build tool
- Tailwind CSS for the utility-first CSS framework
- Framer Motion for smooth animations
- Recharts for beautiful data visualization
- π§ Email: michael@germini.info
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Overall Score: 7/10 - Production Ready with Security Improvements Recommended
- Architecture: Excellent project structure and organization
- Documentation: Comprehensive and professional
- Deployment: Vercel deployment fully functional
- GitHub: Well-configured repository with CI/CD
- Build: Production build working correctly
- Code Quality: TypeScript, ESLint, and Prettier configured
- Security: 57 vulnerabilities detected (2 critical, 22 high, 33 moderate)
- Dependencies: Some outdated packages (Storybook 6.5.0, Cypress 12.0.0)
- Testing: Framer Motion compatibility issues in test environment
- @cypress/request: Server-Side Request Forgery vulnerability
- form-data: Unsafe random function usage
- braces: Uncontrolled resource consumption
- ip: SSRF improper categorization
- trim: Regular Expression Denial of Service
- webpack-dev-middleware: Path traversal vulnerability
- @babel/runtime: Inefficient RegExp complexity
- esbuild: Development server vulnerability
- postcss: Line return parsing error
- β ESLint: Configured with React and TypeScript rules
- β Prettier: Code formatting automation
- β TypeScript: Type safety enabled
- β Husky: Git hooks for pre-commit checks
- β Jest: Unit testing framework configured
- β React Testing Library: Component testing setup
β οΈ Cypress: E2E testing (version needs update)β οΈ Storybook: Component development (version needs update)
- β Vite: Modern build tool working correctly
- β Vercel: Production deployment functional
- β GitHub Actions: CI/CD pipeline configured
- β TypeScript: Compilation successful
- Build Size: Optimized with Vite
- Code Splitting: Implemented for better performance
- Tree Shaking: Enabled for unused code elimination
- Hot Reload: Fast development server
- Type Checking: Real-time TypeScript validation
- Linting: Automated code quality checks
- Last Audit: January 2025
- Update Frequency: Monthly recommended
- Security Patches: Available for critical issues
- High Priority: Update dependencies to fix security vulnerabilities
- Medium Priority: Upgrade Storybook to version 7.x
- Medium Priority: Upgrade Cypress to version 13.x
- Low Priority: Add comprehensive E2E tests
# Run security audit
npm audit
# Fix automatically fixable issues
npm audit fix
# Force update dependencies (use with caution)
npm audit fix --force
# Run code quality checks
npm run lint
npm run type-check
# Run tests
npm run test
npm run test:coverage
# Build for production
npm run build
- Security Score: Target 9/10 (currently 7/10)
- Test Coverage: Target 80% (currently minimal)
- Performance: Lighthouse score 90+ (to be measured)
- Accessibility: WCAG 2.1 AA compliance (to be tested)
Made with β€οΈ for the React community
If this project helps you learn React, please give it a β!