https://github.com/cltxvz/dreambuy
A real e-commerce simulator where you can shop like a billionaire!
https://github.com/cltxvz/dreambuy
axios ecommerce express full-stack heroku mern-stack mongodb nodejs nodemailer online-store react react-router shopping-cart socket-io software-engineering websockets
Last synced: 4 months ago
JSON representation
A real e-commerce simulator where you can shop like a billionaire!
- Host: GitHub
- URL: https://github.com/cltxvz/dreambuy
- Owner: cltxvz
- Created: 2025-02-20T20:20:09.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-28T17:56:16.000Z (4 months ago)
- Last Synced: 2025-02-28T22:04:59.863Z (4 months ago)
- Topics: axios, ecommerce, express, full-stack, heroku, mern-stack, mongodb, nodejs, nodemailer, online-store, react, react-router, shopping-cart, socket-io, software-engineering, websockets
- Language: JavaScript
- Homepage: https://dreambuy-frontend-a8d2abd7dad6.herokuapp.com/
- Size: 12.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **ποΈ DreamBuy**
*"A real e-commerce simulator where you can shop like a billionaire!"*---
## **π Description:**
**DreamBuy** is a **full-stack e-commerce simulator** that replicates the experience of a real online store, allowing users to browse products, add items to their cart, complete secure transactions, and track their orders in real-time. Designed for a seamless and interactive shopping experience, DreamBuy lets you:
β **Shop for products and add them to your cart**
β **Simulate secure checkouts and transactions**
β **Track your orders with real-time status updates**
β **Manage addresses and payment methods**
β **Reorder past purchases in one click**Whether you're buying the latest gadgets, luxury items, or filling your cart like a true billionaire, DreamBuy gives you the thrill of shopping without spending a dime.
---
## **π οΈ Technologies Used:**
### **Frontend (React & UI/UX)**
- **React.js** β Modern, component-based UI development.
- **React Router** β Navigation for seamless page transitions.
- **Axios** β Fetching and sending data to the backend.
- **React Hooks (useState, useEffect, useContext)** β Efficient state management.
- **Custom Styled Modals & Toasts** β Enhanced user experience.### **Backend (Node.js & Express.js)**
- **Node.js** β Scalable server-side runtime.
- **Express.js** β REST API for handling product, order, and user data.
- **MongoDB Atlas** β Cloud-hosted NoSQL database.
- **Mongoose** β ODM for structuring MongoDB documents.
- **Socket.io** β Real-time WebSocket updates for order tracking.### **Authentication & Security**
- **JWT (JSON Web Tokens)** β Secure authentication for users.
- **Nodemailer** β Email-based password recovery.### **Deployment & Hosting**
- **Heroku** β Hosting for both frontend & backend.
- **MongoDB Atlas** β Database in the cloud.
- **Git & GitHub** β Version control and collaboration.---
## **π Skills & Concepts Applied:**
### **Full-Stack Development**
- **Frontend & Backend Integration** β Connecting a React-based frontend with an Express/MongoDB backend.
- **RESTful API Design** β Secure and scalable API endpoints.
- **WebSockets (Socket.io)** β Live updates for order status tracking.### **Software Engineering Best Practices**
- **Modular & Scalable Codebase** β Organized folder structure for maintainability.
- **Middleware & Route Protection** β Securing API routes.
- **Environment Variables (.env)** β Protecting API keys and credentials.### **Data Handling & State Management**
- **MongoDB for Storing Products & Orders** β Efficient NoSQL database design.
- **React State Management (useState, useEffect)** β Dynamic UI updates.
- **Filtering & Sorting Algorithms** β Optimized product listings and order history retrieval.### **Authentication & Authorization**
- **JWT Authentication** β Secure login & session management.
- **User Access Control** β Protecting private routes with authentication.### **UI/UX Enhancements**
- **Custom Confirmation Modals** β Replacing default `window.confirm`.
- **Toast Notifications** β Instant feedback for actions like order cancellation.
- **Responsive Design** β Mobile-friendly layout for all devices.---
## **π Features & How to Use DreamBuy:**
### **User Authentication:**
- **Signup/Login** β Create an account for a personalized shopping experience.
- **Forgot Password & Reset Password** β Recover accounts via email.### **Shopping Experience:**
- **Product Catalog** β Browse available items like a true billionaire.
- **Add to Cart & Update Cart** β Modify quantities or remove items easily.
- **Order Summary & Secure Checkout** β Simulated transactions for a complete shopping experience.### **Order Tracking & Management:**
- **View Active Orders** β Keep track of your purchases.
- **Order Progress Indicator** β Displays each stage of your order.
- **Cancel Order & Refund System** β Cancel before "Out for Delivery" status.
- **Order History & Reorder** β Quickly repurchase previous items.### **Payment & Address Management:**
- **Add/Remove Payment Methods** β Store multiple cards (with imaginary funds!).
- **Manage Shipping Addresses** β Update or delete saved locations.---
## **π Future Enhancements:**
**Wishlist Feature** β Save items for later purchases.
**Live Chat Support** β Simulated customer service via chat.
**Discount Codes & Coupons** β Apply promotional offers.
**Order Notifications** β Email or SMS updates for order status changes.---
## **π How to Run the Project Locally:**
### **1. Clone the Repository:**
```bash
git clone https://github.com/cltxvz/dreamBuy.git
```### **2. Install Backend Dependencies:**
```bash
cd dreamBuy/server
npm install
```### **3. Set Up Environment Variables:**
Create a `.env` file inside the `server` folder and add:
```env
MONGO_URI=your-mongodb-atlas-connection-string
JWT_SECRET=your-secret-key
[email protected]
EMAIL_PASS=your-email-password
FRONTEND_URL=http://localhost:3000
```### **4. Start the Backend Server:**
```bash
npm start
```
or
```bash
node server.js
```---
### **5. Install & Run the Frontend:**
```bash
cd ../client
npm install
npm start
```Then, visit:
**http://localhost:3000**---
## **π Live Demo (Hosted on Heroku)**
**DreamBuy App:** [https://dreambuy-frontend-a8d2abd7dad6.herokuapp.com](https://dreambuy-frontend-a8d2abd7dad6.herokuapp.com)
---
## **π€ Author:**
**Carlos A. CΓ‘rdenas**π **Enjoyed DreamBuy?** Feel free to **βοΈ star the repo**, provide feedback, or contribute!
---
### **β Final Notes:**
DreamBuy was built as a real-world e-commerce simulator, allowing users to experience the thrill of online shopping without spending a cent. This project showcases essential software engineering skills like full-stack development, authentication, responsive UI design, and real-time order tracking.If youβd like to expand or customize it, go ahead!
**Thanks for checking out DreamBuy! ππ**