Companies are now turning their businesses online to provide their customers a better experience. One of the most popular e-commerce website we hear often is Ebay – an American multinational company running on Node.js . A lot of folks are suggesting that Node.js might be the future of web development. Node.js is a single-threaded event-driven system that runs fast even when handling lots of requests at once, it is also simple compared to traditional multi-threaded frameworks. Node.js is well suited for real-time applications: online games, collaboration tools, chat rooms, or anything where what one user (or robot?) does with the application needs to be seen by other users immediately, without a page refresh. Using a technique known as “long-polling”, you can write an application that sends updates to the user in real time.
What I have here is an e-commerce written in Node.js – a on-demand web application made for developers. The features of this e-commerce web application beat most similar platforms in the market. It utilizes Express.js – a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications, without obscuring Node.js features that you know and love. The application also utilizes MongoDB so you can 1. Work with data in a natural, intuitive way, 2. Get great performance without a lot of work, and 3. Easily adapt and make changes quickly. The application also includes a simple, unobtrusive authentication called Passport.js which supports persistent sessions and an easy way to implement existing or custom strategies for authentication. This e-commerce web application is constantly updated to ensure that it will always work with the latest stable release of Node.js
Features:
- Multi Vendor E-commerce – customers can register for an account and be able to upload and sell their products.
- User Authentication and Account management.
- Create Product, Edit Product, and Manage Products
- Bulk upload product images, delete product images, and Set Features image of a product,
- User products and Catalog filtering which includes: Per Page Display, Search, Ordering, Sorting and Pagination.
- Word class inline image slider with zooming and panning functionality.
- WYSIWYG rich text editor for writing content
- Responsive web design – utilizes Bootstrap 3.
- All actions are processed via AJAX for better performance.
Demo
This web application is currently hosted on Heroku, click here to view the demo. The Heroku testing environment does not support file uploads as their filesystem is readonly. Although you can still test the image upload functionality but all images will be automatically deleted after 30 minutes.
Video Demo
Modules Used
- async
- connect-flash
- cookie-parser
- crypto-md5
- express
- express-session
- jade
- mongodb
- monk
- multer
- passport
- passport-local
- socket.io
Pages Included
- Home
- Login
- Registration
- Account
- Products Dashboard
- Add Product
- Edit Product
- Single Product View
- Products View
Not Included:
- Checkout system
- Cart Page
- Wish List
- Ratings and Reviews
How do I get setup?
- Download the zip file.
- Go to MongoDB installation directory and under the bin folder run this command: mongod This will start the MongoDB server. Leave this CLI instance open and start another CLI instance.
- In the new CLI, navigate to where you extracted the project, ex. C:/nodejs-mongodb-default-template then type-in: npm install then wait till it finishes installing all the modules required to run our Node.js Web Application.
- Once the installation is completed, type in the following command to run our Web Application: npm start Make sure to keep the CLI opened.
- Then go to http://127.0.0.1:3100/ using your favorite browser.