- 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.
This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.
- Clone the repository
$ git clone https://github.com/ZeyadTarekk/Mini-Amazon.git
- Navigate to repository directory
$ cd Mini-Amazon
- Install dependencies
npm install
- Create .env file and add your environment variables
MONGODB_URI
Your MongoDB connection string like thismongodb://localhost:27017/shop
SENDGRID_API_KEY
Sendgrid api key or contact me to get mineSENDER_EMAIL
Your verified Sender email at sendgrid or contact me to get mineSTRIPE_KEY
Stripe API key or contact me to get mine
- Running on development mode
npm start
Open http://localhost:3000 with your browser to see the result
- 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
Zeyad Tarek |
This software is licensed under MIT License, See License for more information.