Ecommerce Documentation: 773574

Ecommerce Documentation


This is an ecommerce website using Nodejs, and MongoDB driver and Express. This application tries to demonstrate an E-commerce website. MongoDB is a nosql database. The user can select several mobile phones in the cart.

Installation of Software 

According to Mejia (2012),  the following are requirements and their installation procedure.

Install MongoDB using the following command

$ sudo apt-get install mongodb

Install Nodejs in your pc using the following command

$ sudo apt-get install nodejs

Install npm package using the following command

$ sudo pip install npm

The next step is to install all the dependencies and packages using npm for the project. Run the following command.

$ npm install

After that, start server by running the following commands.

$ npm start 

How to use the system

The client or user logs into the system and selects items and places them in the cart.

He/she then proceeds with the payment by checking out the items selected. He is directed to the payment page where he/she will be prompted to pay. The payment is validated them the client can easily collect the item from the address given by them.


Methodology Definition

This chapter involves background information, definition of water fall model its various stages and the need for water fall model. The chapter covers data collection methods which will be used during the study the methods are interview, observation and sampling selection, this has been elaborated by Chodorow (2013), when he talks about developing systems using nodejs. After data collection the chapter focuses on analysis of data, initial data will be analyzed using statistical methods such as inferential and descriptive techniques. The methods used to carry out research such as the assumptions in theories and philosophy is referred to as the research methodology.

The methodology used according to Satheesh, D’mello and Krol ( 2015) developing an Ecommerce Project is best done using the Incremental model where in this model, it allows for the modeling independent modules of the system separately up to completion. I preferred to use this as it allowed me the chance of working with the different modules independently. The modules are shown below:

Incremental Model Design 


Requirement Specifications.

Functional Requirements.

Through the system the following will be achieved :

Access the website and purchase phone online.

Auction the phone from online

Select the needed item

Non-Functional Requirements

            Non-Functional requirements provided by the system include:

  • Security: the system requires use username and passwords to ensure that data is only accessed and manipulated by only authorized personnel.
  • Functionality: the system will offer all the services as by the user command.
  • Reliability: the system has very few and less severe failures. In case of a failure the system shall alert the user by the use of error messages. It shall also offer a mechanism or a help facility through which the user can recover from errors/failure.
  • Usability: the system will ensure that it offers meaningful and consistent information to the user. It shall also have a documentation that can help the user walk through the system and carry out task efficiently, accurate and very fast.

System Requirements.

Software requirements used in making this system were as follows:


  • Mongo – this is the database used for storing data and items.
  • Express – a server platform
  • Sublime text (Any text Editor)
  • Ubuntu Os (Windows can also work)

Hardware Requirements.

The hardware requirements included:

  1. A computer with a processor of at least 1.8ghz of processing speed.
  2. The computer should have a Random Access Memory of at least 2 gigabytes.
  3. Available hard drive space of at least 15gigabytes.
  4. The computer must be ubuntu operating system (Windows can also do)

 System Inputs and OutPuts.

System Inputs.

The system inputs include the following:

  • Username
  • Location of the user
  • Phone types.

Data flow  Diagram


Class Diagram

+Customer Email

-Customer Password

+select items()

+Remove items from the cart ()

+purchase items()


+Admin Username()

-Admin Password()


+Add Items to the warehouse()

+Add customers()

+Remove items from the warehouse()

+Add warehouse()




Client_id               int             Primary key

F_name                varchar        First name of the tenant

L_name                varchar        Last name of the tenant

Phone No.              int            Phone number of the tenant

Address                varchar       Postal address of the tenant

Email address          varchar       Tenant’s email address 




This chapter deals with translating systems specification prepared during the design phase into a full operational system, that is, into program code.(Mejia, 2012) system implementation also deals with the techniques and tools used in the development of the system. The system development made use of iterative design approach. It involved:

  • Coding,
  • Unit testing,
  • Validation testing
  • Documentation.

 Unit Testing

Here I did the first testing through the process of developing the software. I ensured that every unit within the project was performing in a more accurate manner as what was documented and also it contained a vividly elaborated inputs and enhanced output as elaborated by Nagpure( 2016).

 Validation testing

This is the process to evaluate the software in the process of developing it (Nagpure,2016) in determination of satisfying specification required. Various modules were tested before being integrated in the system. The following three phases were included


Validation of the Login Credentials

 White box testing

All the testing for the working of the application was done using Mongo-server, each module was tested before coding the next. This testing technique was appropriate to the iterative methodology I used. In (Sreekumar,2017) iterative model, development begun by specifying and implementing just part of the software, which then was renewed in order to identify further requirements.

 Black box testing.

I gave the system to various friends with different windows operating system and it was able to do all the tasks as required, no one complained.


From these, we can see that Nodejs and Mongodb are one of the best languages and databases for building an e-commerce platform. This is because mongo database is a nosql language.


Satheesh, M., D’mello, B.J. and Krol, J., 2015. Web Development with MongoDB and NodeJS. Packt Publishing Ltd.

Mejia, O., 2012. How to Create a Command Line Program with NodeJS.

Liang, L., Zhu, L., Shang, W., Feng, D. and Xiao, Z., 2017, May. Express supervision system based on NodeJS and MongoDB. In Computer and Information Science (ICIS), 2017 IEEE/ACIS 16th International Conference on (pp. 607-612). IEEE.

Dahl, R., 2016. NodeJS. 2009. Online: http://nodejs. org/jsconf. pdf.

Banker, K., 2011. MongoDB in action. Manning Publications Co..

Chodorow, K., 2013. MongoDB: The Definitive Guide: Powerful and Scalable Data Storage. ” O’Reilly Media, Inc.”.

Wei-Ping, Z., Ming-Xin, L.I. and Huan, C., 2011, May. Using MongoDB to implement textbook management system instead of MySQL. In Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on (pp. 303-305). IEEE.

Membrey, P., Plugge, E. and Hawkins, D., 2011. The definitive guide to MongoDB: the noSQL database for cloud and desktop computing. Apress.

Nagpure, M.A.B., 2016. Node Js With Koa 2: Step By Step Guide To Develop Web Apps With Complete Source Code Of Node js with Koa 2.

Justin, J. and Jude, J., 2017. Build Your First Ionic App. In Learn Ionic 2 (pp. 5-14). Apress, Berkeley, CA.

Fenton, S., 2018. Code Organization. In Pro TypeScript (pp. 63-82). Apress, Berkeley, CA.

Annala, L., 2017. Documentation of a UI-library used in web development.

Sreekumar, S., 2017. Cross Platform Lightweight Social Networking Application for Next Generation E-Commerce (Doctoral dissertation, San Diego State University).

Vegesna, A., Jain, P. and Porwal, D., Ontology based Chatbot (For E-commerce Website).