A complete E-Commerce app for Borcelle, a shoe store, built with React, TypeScript, Zustand, and Vite.
Borcelle is an online store for shoes built using React, TypeScript, Zustand, and Vite. This application features product filtering by category, price, and color, along with a search functionality by product title. The app also includes a full shopping experience, including cart management, checkout, order tracking, and user account management. The state is persisted using Zustand's persist middleware, ensuring that the app’s state is maintained even after a page refresh.
- Product Filtering 🔍: Filter shoes by category, price range, color, and search by title.
- Shopping Cart 🛒: Add, remove, and update product quantities in the cart.
- Checkout Process 💳: Simulated checkout flow that can be extended to integrate payment gateways.
- Order Management 📦: Track your orders and view order status.
- User Accounts 👤: User registration, login, and profile management.
- State Persistence 🔒: Zustand with persist middleware ensures app state is saved in localStorage.
- Responsive Design 📱: Optimized for both desktop and mobile devices.
- React – For building user interfaces.
- TypeScript – For type safety and better developer experience.
- Vite – For fast builds and development.
- Zustand – For state management with persist middleware.
- SCSS/CSS – For styling.
- React Icons – For adding icons to UI components.
- Clone the repository:
git clone https://github.com/your-username/zustand-ecommerce.git- Navigate to the project directory:
cd zustand-ecommerce
- Install dependencies:
npm install
- Run the project:
npm run dev
The app will run at http://localhost:3000 (or the port defined by Vite).
- Use the sidebar to filter shoes by Category, Price, and Color.
- Use the search input to find shoes by title.
- Add shoes to the cart and proceed to checkout.
- Manage your orders and update your user profile in the User Account section.
- The application state persists across page refreshes.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License.
Happy coding! 🚀