An open API service indexing awesome lists of open source software.

https://github.com/gitcoder052023/wardrobe

This repository contains the source code for "The Wardrobe," an e-commerce web application designed for a seamless online shopping experience. The project is currently under heavy development, and many features are yet to be implemented.
https://github.com/gitcoder052023/wardrobe

Last synced: 7 months ago
JSON representation

This repository contains the source code for "The Wardrobe," an e-commerce web application designed for a seamless online shopping experience. The project is currently under heavy development, and many features are yet to be implemented.

Awesome Lists containing this project

README

        

ο»Ώ# πŸ›οΈ The Wardrobe

![Status](https://img.shields.io/badge/Status-Under_Development-yellow?style=flat-square)
![License](https://img.shields.io/badge/License-CC%20BY--NC%204.0-blue?style=flat-square)
![Contributors](https://img.shields.io/github/contributors/GitCoder052023/The-Wardrobe?style=flat-square)
![Node.js](https://img.shields.io/badge/Node.js-16.x-green?style=flat-square)
![Express.js](https://img.shields.io/badge/Express.js-4.x-brightgreen?style=flat-square)
![MongoDB](https://img.shields.io/badge/MongoDB-5.x-darkgreen?style=flat-square)
![JWT](https://img.shields.io/badge/JWT-JSON_Web_Tokens-red?style=flat-square)
![Nodemailer](https://img.shields.io/badge/Nodemailer-6.x-lightgrey?style=flat-square)

## πŸ“– About

**The Wardrobe** is an elegant and luxurious e-commerce web application providing a seamless online shopping experience. The project is currently **under heavy development**, and many features are yet to be implemented.

> **Note:** This README is primarily for developers contributing to this project.

## 🌟 Current Features

- **Front-End:**
- 🎨 **Landing Page:** A modern home page showcasing featured products and collections.
- πŸ“„ **Static Pages:** Includes "About Us" and "Contact Us" sections.
- πŸ” **Login & Signup Pages:** Basic forms for user authentication.
- πŸ›’ **Shopping & Product Pages:** General shopping pages for browsing products.
- πŸ›οΈ **Cart, Checkout, and Payment Pages:** Includes static interfaces for cart review and payment methods.
- πŸ§‘β€πŸ’Ό **Profile & Wishlist Pages:** User profile and wishlist functionalities with dynamic content.
- 🚚 **Order & Track Order Pages:** Dynamic order tracking pages with interactive features.
- πŸ”„ **Password Reset Flow:** A secure multi-step process with email and OTP verification.

- **Back-End:**
- 🌐 **Node.js & Express:** Serving static files and handling routing efficiently.
- πŸ—ƒοΈ **MongoDB:** Storing user data and product information.
- πŸ”‘ **JWT Authentication:** JSON Web Tokens for secure, stateless user authentication and session management.
- πŸ“§ **Nodemailer:** Handles email sending for notifications, password resets, and order confirmations.

## πŸ’» Tech Stack

- ![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5&logoColor=white&style=flat-square)
- ![CSS3](https://img.shields.io/badge/CSS3-1572B6?logo=css3&logoColor=white&style=flat-square)
- ![Tailwind CSS](https://img.shields.io/badge/TailwindCSS-38B2AC?logo=tailwind-css&logoColor=white&style=flat-square)
- ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black&style=flat-square)
- ![Node.js](https://img.shields.io/badge/Node.js-339933?logo=node.js&logoColor=white&style=flat-square)
- ![Express.js](https://img.shields.io/badge/Express.js-000000?logo=express&logoColor=white&style=flat-square)
- ![MongoDB](https://img.shields.io/badge/MongoDB-47A248?logo=mongodb&logoColor=white&style=flat-square)
- ![JWT](https://img.shields.io/badge/JWT-JSON_Web_Tokens-red?style=flat-square)
- ![Nodemailer](https://img.shields.io/badge/Nodemailer-6.x-lightgrey?style=flat-square)

## πŸ“‹ Pre-requisites

Before you begin, ensure you have the following installed:

- **Node.js** (v16.x or above) - [Download Node.js](https://nodejs.org/)
- **MongoDB** (v5.x or above) - [Download MongoDB](https://www.mongodb.com/)
- **Git** - [Download Git](https://git-scm.com/)

## πŸ› οΈ Project Setup (For Developers)

### Step 1: Clone the Repository
```bash
git clone https://github.com/GitCoder052023/The-Wardrobe.git
```

### Step 2: Navigate to the Project Directory
```bash
cd The-Wardrobe
```

### Step 3: Install Dependencies
```bash
npm i
```

### Step 4: Set Up Environment Variables
Create a `.env` file in the root directory and add the following:
```env
PORT=3000
MONGO_URI=MongoDB-URI
JWT_SECRET=YOUR_JWT_SECRET
SENDER_EMAIL=YOUR_EMAIL_ADDRESS
SENDER_APP_PASSWORD=YOUR_APP_PASSWORD
```

### Step 5: Run the Application
```bash
npm run dev
```

### Step 6: Access the Application
Open your browser and go to `http://localhost:3000`.

## πŸ—οΈ System Architecture

```bash
The-Wardrobe
| .gitignore
| .env.example
| CODE_OF_CONDUCT.md
| CONTRIBUTING.md
| SECURITY.md
| package-lock.json
| package.json
| tailwind.config.js
| README.mdβ”‚
β”‚
└───src
β”‚ app.js
β”‚
β”œβ”€β”€β”€routes
β”‚ auth.js
β”‚ cart.js
β”‚ Collection.js
β”‚ info.js
β”‚ main.js
β”‚ Orders.js
β”‚ Payments.js
β”‚ Product.js
β”‚ shop.js
β”‚ User.js
β”‚
β”œβ”€β”€β”€Server
β”‚ β”‚ server.js
β”‚ β”‚
β”‚ β”œβ”€β”€β”€config
β”‚ β”‚ db.js
β”‚ β”‚
β”‚ β”œβ”€β”€β”€controllers
β”‚ β”‚ authController.js
β”‚ β”‚ ContactController.js
β”‚ β”‚ profileController.js
β”‚ β”‚ ResetPasswordController.js
β”‚ β”‚
β”‚ β”œβ”€β”€β”€models
β”‚ β”‚ User.js
β”‚ β”‚
β”‚ β”œβ”€β”€β”€routes
β”‚ β”‚ authRoutes.js
β”‚ β”‚ ContactRoutes.js
β”‚ β”‚ index.js
β”‚ β”‚ profileRoutes.js
β”‚ β”‚
β”‚ └───utils
β”‚ authUtils.js
β”‚ passwordUtils.js
β”‚ SendMail.js
β”‚
β”œβ”€β”€β”€static
β”‚ β”œβ”€β”€β”€Assets
β”‚ β”‚ β”œβ”€β”€β”€img
β”‚ β”‚ β”‚
β”‚ β”‚ └───Videos
β”‚ β”œβ”€β”€β”€CSS
β”‚ β”‚ β”‚ 404.CSS
β”‚ β”‚ β”‚ LandingPage.css
β”‚ β”‚ β”‚ main.css
β”‚ β”‚ β”‚ output.css
β”‚ β”‚ β”‚
β”‚ β”‚ └───Shop
β”‚ β”‚ Shop.css
β”‚ β”‚
β”‚ β”œβ”€β”€β”€JS
β”‚ β”‚ β”‚ LandingPage.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€Auth
β”‚ β”‚ β”‚ login.js
β”‚ β”‚ β”‚ Reset-Password.js
β”‚ β”‚ β”‚ signup.js
β”‚ β”‚ β”‚ Submit-Email.js
β”‚ β”‚ β”‚ SubmitOTP.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€cart
β”‚ β”‚ β”‚ cart.js
β”‚ β”‚ β”‚ checkout.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€Contact
β”‚ β”‚ β”‚ Contact.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€Orders
β”‚ β”‚ β”‚ Orders.js
β”‚ β”‚ β”‚ TrackOrders.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€Payment
β”‚ β”‚ β”‚ Payment.js
β”‚ β”‚ β”‚
β”‚ β”‚ β”œβ”€β”€β”€Shop
β”‚ β”‚ β”‚ β”‚ Shop.js
β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β”‚ └───Collection
β”‚ β”‚ β”‚ β”‚ Collection.js
β”‚ β”‚ β”‚ β”‚
β”‚ β”‚ β”‚ └───Product
β”‚ β”‚ β”‚ Product.js
β”‚ β”‚ β”‚
β”‚ β”‚ └───User
β”‚ β”‚ Profile.js
β”‚ β”‚ Wishlist.js
β”‚ β”‚
β”‚ β”œβ”€β”€β”€JSON
β”‚ β”‚ Collection_Products.json
β”‚ β”‚ Orders_Data.json
β”‚ β”‚ Tracking_Data.json
β”‚ β”‚ Wishlist_Products.json
β”‚ β”‚
β”‚ └───Utilities
β”‚ CategoriesCollection.js
β”‚
└───templates
β”‚ LandingPage.html
β”‚
β”œβ”€β”€β”€Auth
β”‚ login.html
β”‚ Reset-Password.html
β”‚ signup.html
β”‚ Submit-Email.html
β”‚ SubmitOTP.html
β”‚
β”œβ”€β”€β”€cart
β”‚ cart.html
β”‚ checkout.html
β”‚
β”œβ”€β”€β”€info
β”‚ About.html
β”‚ Contact.html
β”‚
β”œβ”€β”€β”€Orders
β”‚ Orders.html
β”‚ TrackOrders.html
β”‚
β”œβ”€β”€β”€Payments
β”‚ Payment.html
β”‚
β”œβ”€β”€β”€Shop
β”‚ β”‚ Shop.html
β”‚ β”‚
β”‚ └───Collections
β”‚ β”‚ Collection.html
β”‚ β”‚
β”‚ β”œβ”€β”€β”€Categories
β”‚ β”‚ AccessoriesCollection.html
β”‚ β”‚ MenCollection.html
β”‚ β”‚ WearablesCollection.html
β”‚ β”‚ WomenCollection.html
β”‚ β”‚
β”‚ └───Product
β”‚ Product.html
β”‚
β”œβ”€β”€β”€User
β”‚ Profile.html
β”‚ Wishlist.html
β”‚
└───Utility
404.html
```