You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
EcoBazar is an online store for eco-friendly products, featuring a blog, personalized user accounts, an authentication system, and much more.
🛠️ Technology Stack
Frontend: React, TypeScript, Vite
State Management: Redux Toolkit
Forms: React Hook Form
Routing: React Router DOM
API: NestJS, with a backup API
Authentication and User Data Management: Firebase
Testing: Jest
Styling: Sass
Architecture: Atomic Design Pattern
📦 Key Features
🛒 Product Store
🛍️ Search, Sorting, and Filtering: Convenient search with a dropdown results window, sorting by date added (newest/oldest), as well as filtering by categories, price, rating, and tags.
📄 Pagination: Support for paginated display of products.
🛒 Add to Cart and Wishlist: Ability to add products to the shopping cart and wishlist.
🔗 Product API
🚀 Two API Options: Two methods for retrieving data are implemented: one using NestJS and another alternative technology.
🔄 Backup API: If one API is unavailable, the data automatically switches to the backup API.
🔐 Authentication and Account Management
🌐 Authentication: Ability to sign in and register via Google and GitHub, as well as using a standard login and password.
🔄 Password Change: Ability to change the password in the user account.
🔧 Password Recovery: Functionality to recover account access.
💾 User Database
📂 Firebase: Stores user information, purchase history, wishlist, and shopping cart data.
🔄 Real-Time Updates: Instant data updates, allowing users to see the latest information.
👤 User Account
✏️ Profile Editing: Ability to edit profile information such as name, email, and password.
📊 Order History: Access to information about previous purchases.
📱 Full Responsiveness
📲 Mobile Optimization: The application is fully adapted for mobile devices, ensuring a smooth experience across all screen sizes.