Skip to content

A fullstack Ecommerce application Built using Node.js, Express.js, MongoDB, Mongoose

License

Notifications You must be signed in to change notification settings

ZeyadTarekk/Mini-Amazon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

GitHub contributors GitHub issues GitHub license GitHub forks GitHub stars GitHub Language

πŸ“ Table of Contents

πŸ“™ About

  • A fullstack Ecommerce application.
  • MVC architecture is used.
  • User can signup to create account and receive email regarding the registration.
  • User can reset his password by a link sent to him through the email that is valid for 1 hour only.
  • Each user has a cart and orders page.
  • Each user can create products and upload an image to the product.
  • Pagination is supported in the products page.
  • Each user can edit or delete his products.
  • Each user can generate a PDF invoice to any order he has done.
  • Each user can pay to make his order to test payments enter 4242 4242 4242 4242 as a card number and any expiry date in the future to proceed with the payment.

🏁 Getting Started

This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.

Installation

  1. Clone the repository
$ git clone https://github.com/ZeyadTarekk/Mini-Amazon.git
  1. Navigate to repository directory
$ cd Mini-Amazon
  1. Install dependencies
npm install

Running

  1. Create .env file and add your environment variables
  • MONGODB_URI Your MongoDB connection string like this mongodb://localhost:27017/shop
  • SENDGRID_API_KEY Sendgrid api key or contact me to get mine
  • SENDER_EMAIL Your verified Sender email at sendgrid or contact me to get mine
  • STRIPE_KEY Stripe API key or contact me to get mine
  1. Running on development mode
npm start

Open http://localhost:3000 with your browser to see the result

πŸ’» Built Using

  • Node.js
  • Express.js
  • MongoDB
  • Mongoose
  • bcryptjs to encrypt passwords
  • csurf to generate tokens
  • multer to upload files (products images)
  • nodemailer to send mails
  • pdfkit to generate PDF invoices on each order
  • stripe to allow payments

πŸ“· Demo Screenshots

Signup Email


Reset password email


Home Page



Product Details


User cart


Confirm Order


Payment


Payment Success


Orders


Generated Invoice

You can see the generated PDF in data/invoices folder


Admin Products

Owner User


Another User


Create Product


Edit Product


Reset password



Contributors

Zeyad Tarek
Zeyad Tarek

License

This software is licensed under MIT License, See License for more information.

About

A fullstack Ecommerce application Built using Node.js, Express.js, MongoDB, Mongoose

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published