Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iam-abin/gadgetplus
An e-commerce platform for selling gadgets 📱 offering a diverse range of products, secure transactions 💳, and seamless user experience.
https://github.com/iam-abin/gadgetplus
docker ecommerce ecommerce-application ejs express mongodb mongoose mvc-architecture nodejs
Last synced: about 2 hours ago
JSON representation
An e-commerce platform for selling gadgets 📱 offering a diverse range of products, secure transactions 💳, and seamless user experience.
- Host: GitHub
- URL: https://github.com/iam-abin/gadgetplus
- Owner: iam-abin
- Created: 2023-04-08T15:20:21.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-09T03:16:22.000Z (6 months ago)
- Last Synced: 2024-05-09T04:27:33.079Z (6 months ago)
- Topics: docker, ecommerce, ecommerce-application, ejs, express, mongodb, mongoose, mvc-architecture, nodejs
- Language: CSS
- Homepage:
- Size: 102 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GadgetPlus
GadgetPlus is an e-commerce application. It allows users to browse and purchase gadgets online.## Technologies Used
- Node.js
- Express.js
- MongoDB
- EJS, HTML5, CSS3---
### Images
![Screenshot from 2024-07-10 09-55-21](https://github.com/iam-abin/GadgetPlus/assets/112235416/234725d1-a5ad-4345-81c0-68b22a1f9bd0)![Screenshot from 2024-07-10 09-56-56](https://github.com/iam-abin/GadgetPlus/assets/112235416/84af0178-a1fa-49a8-9c42-b76c688971be)
![Screenshot from 2024-07-10 09-55-47](https://github.com/iam-abin/GadgetPlus/assets/112235416/35918b51-d529-4499-a6e4-f957fe486e20)
---
### User-Facing Features
- **User Authentication**: Create user accounts, log in, and manage personal information securely.
- **Product Search**: Utilize the search functionality to quickly locate specific products by name, keywords, or attributes.
- **Product Filters**: Narrow down product results using filters such as product category, price range.
- **Product List**: Explore a vast catalog of products, making it easy to find desired items.
- **Product Zoom**: Utilize the magic zoom function to get a closer look at product images.
- **Shopping Cart**: Add products to the shopping cart for easy management and seamless checkout.
- **Wishlist**: Save desired products to a wishlist for future reference or purchase.
- **Mobile OTP Login**: Verify user mobile numbers using OTP to login.
- **Payment Methods**: Choose from various payment methods, including Razor Pay,wallet and cash on delivery.
- **Return and Cancel**: Easily initiate returns or cancel orders as per the return policy.
- **Coupon Code**: Apply coupon codes for discounts during checkout.
- **Address Management**: Add, edit, and delete user addresses for accurate and convenient delivery.
- **Profile Management**: Edit merchant profile information and upload profile images.
- **Order Management**: View and manage orders, including different order statuses such as pending, processing, shipped, outForDelivery,delivered, candelPending, canceled, etc.
- **Invoice download**: Generate invoid for delivered products and can download them in PDF format.### Admin-Facing Features
- **Admin Authentication**: To Authenticate admins for added security. Admin login and logout.
- **User Management**: Handle user accounts, including blocking, unblocking, and managing user data.
- **Product Management**: Handle Products, including adding, editing, blocking, and managing product data.
- **Coupon Management**: Add, edit, delete, and update coupon codes for discounts.
- **Category Management**: Manage categories such as for each products, including adding, editing, and deleting categories.
- **Sales Reports**: Generate sales reports for order on a daily, weekly, monthly, and yearly basis and download them in CSV or PDF format.
- **Dashboard**: Display statistics of sales such as profit, products etc., with graphs for monthly, daily insights.---
### Prerequisites
Make sure you have the following installed on your system:
- Node.js: [Download and install Node.js](https://nodejs.org/)
## Setup
1. Clone the repository
```
git clone https://github.com/iam-abin/GadgetPlus.git
```2. Navigate to the project directory
```
cd GadgetPlus
```3. Install the dependencies
```
npm install
```4. Configure the environment variables. Rename the `.env.example` file to `.env` and update the necessary variables with your specific configurations.
5. Start the application
```
npm start
```6. Open your browser and navigate to `http://localhost:3000` to access gadgetPlus.
---
### Docker compose commands
- To build images and run services,
In the root directory run```
docker-compose up --build
```- To access the service1, enter the following in the browser or postman
```
http://localhost:3001/
```### Docker commands
- build an image
```
docker build -t image-name .
```- List all local Docker images
```
docker images
```- To run a docker image to crate a container
```
docker run image_name
```- To run a docker image to crate a container in detached mode (in the background).
```
docker run -d image_name
```- To do port mapping and runnig container (To access application running inside container port 8080 from
our local machine port 5000. By default app inside container cannot talk with outside world)```
docker run -p 5000:8080 image-name
```
or
```
docker run -p 5000:8080 -d image-name
```- Stop a running container
```
docker stop container_name
```- List all running containers
```
docker ps
```
- To see all the containers(even the stopped containers)
```
docker ps -a
```