A modern e-commerce web application built with React, and Tailwind CSS. This project serves as a learning resource for students to understand how to build a full-featured online shopping platform.
- User authentication (sign up/sign in)
- Product browsing and filtering
- Shopping cart management
- Favorites/wishlist functionality
- Checkout process
- Responsive design
- Local storage persistence
- React 18
- Tailwind CSS
- React Router DOM
- Lucide React (Icons)
- Vite (Build Tool)
- Node.js (v16 or higher)
- npm or yarn
- Basic knowledge of React
- Understanding of CSS and Tailwind
- Git installed on your machine
src/
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── pages/ # Application pages/routes
└── App.tsx # Root component
-
Fork the Repository
- Visit the GitHub repository
- Click the "Fork" button in the top-right corner
- This creates your own copy of the project
-
Clone Your Fork
git clone https://github.com/your-username/shophub.git cd shophub
-
Create a New Branch
git checkout -b feature/your-feature-name
-
Install Dependencies
npm install
-
Start Development Server
npm run dev
-
Make Changes
- Work on your feature or bug fix
- Keep commits small and focused
-
Commit Your Changes
git add . git commit -m "Description of changes"
-
Keep Your Fork Updated
# Add the original repository as upstream git remote add upstream https://github.com/original-owner/shophub.git # Fetch and merge updates git fetch upstream git merge upstream/main
-
Push Changes
git push origin feature/your-feature-name
-
Create Pull Request
- Go to your fork on GitHub
- Click "New Pull Request"
- Select your feature branch
- Describe your changes
- Submit the pull request
-
React Fundamentals
- Component composition
- Hooks usage (useState, useEffect)
- Custom hooks
- Props and state management
-
State Management
- Context
- State persistence
- Complex state updates
-
Routing
- Route configuration
- Protected routes
- Navigation and params
-
UI/UX Design
- Responsive layouts
- Tailwind CSS usage
- Component styling
- User interaction patterns
-
Setup and Configuration
- Initialize project with Vite
- Set up Tailwind CSS
- Install dependencies
-
Authentication System
- Implement sign up/sign in forms
- Create auth store
- Add protected routes
- Handle user sessions
-
Product Management
- Create product listing
- Implement filtering and search
- Add product details view
- Handle product categories
-
Shopping Cart
- Create cart functionality
- Implement quantity updates
- Calculate totals
- Persist cart data
-
Favorites System
- Add favorite toggling
- Create favorites page
- Implement persistence
- Handle user-specific favorites
-
Checkout Process
- Create checkout form
- Implement order summary
- Add form validation
- Handle order submission
- Add product reviews and ratings
- Implement a search functionality
- Add payment gateway integration
- Create an admin dashboard
- Add product categories management
- Implement user profiles
- Add order history
- Create a wishlist sharing feature
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.