Ecommerce Documentation
Introduction.
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
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:
- A computer with a processor of at least 1.8ghz of processing speed.
- The computer should have a Random Access Memory of at least 2 gigabytes.
- Available hard drive space of at least 15gigabytes.
- 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/Client |
+Customer Email
-Customer Password |
+select items()
+Remove items from the cart () +purchase items()
|
Admin |
+Admin Username()
-Admin Password() |
+Add Items to the warehouse() +Add customers() +Remove items from the warehouse() +Add warehouse() |
CLIENTS TABLE
COLUMN NAME DATA TYPE COMMENT
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
SYSTEM IMPLEMENTATION AND TESTING.
Introduction
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.
Conclusion
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.
References
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).