Build a full-stack ecommerce application using VanillaJS
on the front-end and NodeJS/MondoDB
on the back-end.
- The application is using a custom client side rendering (without page refresh)
- The application has a server side validation
- User Story #1 As a user, I should be able to see a a list of products on the homepage
- User Story #2 As a user, I should be able to get a a basic level of information about that product in the homepage
- User Story #3 As a user, I should be able to view the product details page
- User Story #4 As a user, I should be able to add/remove a product to/from the cart
- User Story #5 As a user, I should be able to save products to the wishlist
- User Story #6 As a user, I should be able to complete a purchase
- User Story #7 As a user, I should be able to see my past orders
- User Story #7 As a user, I should be able to sort products
- The application shall allow users to querry a list of product on website load
- The application shall allow users to register and login their accounts to save products to wishlist
- The application shall allow users to complete a purchase and process their payment option
- The application shall allow users to sort the data by time, name and price
- Homepage/Store page list of products
- Register/Login system
- Newsletter system
- Profile/settings account page
- Buy points system
- Dynamic shipping calculator
- Adding/removing products to cart and changing quantity
- Dinamic price calculator (shipping included)
- Wishlist system
- Product specifications section
- Reviews system
- Cupon/voucher/discounts system
- Daily sales/discounts system
- Register as a vendor/seller system
- Product sorting system
- More features in design process
- Express
- Express async handler
- CORS
- Mongoose
- Jsonwebtoken
- Body-parser
- Dotenv
- Axios
- Moment JS
- Bootstrap-icons
- Webpack
- Webpac-CLI
- Webpack-dev-server
- @babel/cli
- @babel/core
- @babel/node
- @babel/preset-env
- eslint
- eslint-config-airbnb-base
- eslint-config-prettier
- eslint-plugin-import
- nodemon
- Open a terminal and clone the repo using the following command:
git clone https://github.com/Kerosz/eMagJS
- Have
Mongo DB
installed on your system, and running. - Create a
.env
file using theenv.example
CD
intoeMagJS
directory and run the following command:yarn add
- Run the following command to start a local server:
yarn start
CD
intoeMagJS/client
directory and run the following command:yarn add
- Repeat step 3