Welcome to Artisan Coffee, a platform where coffee enthusiasts can explore a variety of coffee types, manage their shopping cart, and wishlist their favorites. This project is designed with dynamic routing, local storage management, and a responsive layout, providing a seamless user experience.
Check out the live version of the website here: Artisan Coffee Live (https://soft-faun-318037.netlify.app/).
- React Components: Reusable components for Navbar, Coffee Cards, and Coffee Details.
- React Router (v6): Dynamic routing for pages like Home, Coffee Details, and the Dashboard.
- useState & useEffect: Managing component states and lifecycle events for dynamic UI updates.
- LocalStorage: Persistent data storage for user-added cart and wishlist items.
- Conditional Rendering: Displaying content dynamically based on user interactions.
Here are the standout features of Artisan Coffee:
-
Dynamic Coffee List
- Displays a grid of coffee cards. Clicking "View Details" redirects users to a dynamic Coffee Details page.
-
Interactive Coffee Details
- Users can view coffee descriptions, making processes, and nutritional info. Options to "Add to Cart" or "Add to Wishlist" are available.
-
Dashboard Page
- A dedicated page for users to view and manage their cart and wishlist items, persisted via LocalStorage.
-
Sorting Options
- Users can sort coffees by popularity and ratings on the dashboard for an organized experience.
-
Responsive Design
- Fully responsive layout for both desktop and mobile, ensuring seamless browsing on all devices.
-
Home Page:
- A welcoming banner with a CTA button.
- Coffee cards with details like name, category, tags, and a "View Details" button.
-
Coffee Details Page:
- Detailed coffee information, including making process, ingredients, and nutrition.
- Buttons for adding items to the cart or wishlist.
-
Dashboard Page:
- Displays lists of items added to the cart and wishlist, with options to manage them.
- Sorting options for filtering items by popularity and rating.
-
404 Page:
- A "Page Not Found" route to handle invalid URLs gracefully.
-
Add to Cart/Wishlist
- Users can add coffee items to the cart or wishlist with buttons on the Coffee Details page.
-
Persistent Storage
- Data stored in LocalStorage ensures that cart and wishlist items remain intact across sessions.
-
Dynamic Routing
- Routes are dynamically created for coffee details, ensuring seamless navigation.
-
Sort & Filter
- Options to sort coffee items based on popularity and rating for better user experience.
-
Responsive Design
- The website is fully responsive, with layouts optimized for both desktop and mobile devices.
-
Explore Coffee Options
- Browse the coffee list on the homepage and click "View Details" for more information.
-
Add to Cart or Wishlist
- Use the buttons on the Coffee Details page to save items to your cart or wishlist.
-
Manage Your Favorites
- Access your saved items on the Dashboard page, where you can view, sort, or remove items.
-
Dynamic Navigation
- Enjoy seamless navigation between pages using the Navbar.
- [✅] Navbar with active routes
- [✅] Banner section with redirect button
- [✅] Dynamic Coffee Cards grid
- [✅] Dynamic Coffee Details page
- [✅] Cart and Wishlist functionality with persistent storage
- [✅] Dashboard page with sorting options
- [✅] 404 error page
- [✅] Fully responsive design
- React.js
- Tailwind CSS
- DaisyUI
- React Router (v6)
- LocalStorage
Feel free to share feedback or contribute to the project. Happy coding! 🎉