CHAPTER FOUR
SYSTEM IMPLEMENTATION
4.0 INTRODUCTION
This chapter highlighted the technical tools use for the project, system testing, system
requirement and evaluation.
4.1 SYSTEM IMPLEMENTATION TOOLS USED
The system will be developed using MongoDB, Express, Ejs and NodeJS, along with other
necessary tools. Below are the tools and technologies for the implementation.
4.1.1. Node.js
Node.js is an open-source, server-side JavaScript runtime environment. It allows you to
execute JavaScript code on the server, making it possible to build server-side applications
and APIs. Node.js is known for its non-blocking, event-driven architecture, which makes
it highly efficient for handling concurrent connections.
4.1.2 Express.js
Express.js is a web application framework for Node.js. It simplifies the process of building
web applications and APIs by providing a set of features and middleware. Some key
features include routing, handling HTTP requests and responses, and support for
middleware functions. Middleware functions are crucial for tasks like authentication,
request validation, and error handling.
4.1.3 MongoDB
MongoDB is a NoSQL database that stores data in a flexible, JSON-like format called
BSON (Binary JSON). It's suitable for storing unstructured or semi-structured data.
MongoDB is known for its scalability and flexibility, making it a popular choice for
modern web applications and APIs. It's schema-less, which means you don't need to define
a fixed structure for your data.
4.1.4 EJS (Embedded JavaScript)
EJS is a templating engine for generating dynamic HTML content on the server. It allows
you to embed JavaScript code within your HTML templates. This is useful for injecting
dynamic data into your HTML views. EJS templates are processed on the server, and the
resulting HTML is sent to the client.
4.1.5 Visual Studio Code
Visual Studio Code is a popular code editor that provides a rich set of features for
JavaScript development. It offers excellent support for React Native and Node.js
development, including debugging, IntelliSense, and integrated terminal features. Other
code editors, such as Atom, Sublime Text, or WebStorm, can also be used based on
personal preference.
4.1.6 Git and GitHub
Git is a version control system that allows for efficient collaboration and tracking of code
changes. GitHub is a popular web-based hosting service that supports Git repositories and
facilitates team collaboration. Utilizing Git and GitHub will help in managing the
development of the system, enabling version control, code reviews, and issue tracking.
4.1.7 Postman
Postman is an API development and testing tool that allows you to interact with APIs and
validate their responses. It can be used to test the APIs you develop for the system, ensuring
they work correctly and handle various scenarios. Postman simplifies the process of
debugging and troubleshooting the backend API endpoints.
By considering these tools and tailoring them to your project's specific requirements, you
can develop a robust and secure API for your project archive that efficiently manages data
and serves as a reliable backend for your application.
4.2 SYSTEM TESTING
The system is tested using the Black Box testing, in which the system developed is tested
in order to evaluate the system’s compliance with the specified user requirements.
Table 4.1 User requirement testing’s.
TEST ID FUNCTION DESCRIPTION EXPECTED ACTUAL STATUS
RESULT RESULT
1 Login Admin try to Admin login Admin Successful
login into the logged into
system the system
2 Upload a Admin try to Admin Project was Successful
project upload a project upload a uploaded in
into the system project into the system
the system
3 Edit a Admin try to Admin edit Project was Successful
project edit project in project in the edited in
the system system the system
4 Delete a Admin try to Admin Project was Successful
project delete project in delete deleted in
the system project in the the system
system
Table 4.2 User requirement testing’s.
TEST ID FUNCTION DESCRIPTION EXPECTED ACTUAL STATUS
RESULT RESULT
1 View a User try to User view User Successful
project project project viewed
project
2 Search a User try to User search User search Successful
project search a project a project a project in
the system
4.3 SYSTEM REQUIREMENT
4.3.1 Software Requirements
Web Server: Node.js
Database Management System: MongoDB
Code Editor (Development Environment): Visual Studio Code (VS Code)
API Testing and Documentation: Postman
Version Control: Git
Dependencies and Node Modules: npm (Node Package Manager)
Operating System (Development Environment): Supported OS (Windows, macOS,
Linux)
4.3.2 Hardware Requirements
Server Hardware:
- CPU (Appropriate capacity)
- RAM (Sufficient for workload)
- Storage (SSDs or fast storage)
Network
- Reliable internet connection
These requirements ensure that you have the necessary software and hardware
infrastructure to develop, host, and maintain your API for the project archive. The specifics
of these requirements can vary based on the size and complexity of your project and the
expected user load. It's crucial to perform capacity planning and testing to determine the
exact resources needed for your production environment.
4.5 CHAPTER SUMMARY
The main focus of this chapter was the implementation of the software, the technologies
and tools used in developing the software, the software and hardware requirements needed
for the software to be used and also how the functionality of the system was tested and
evaluated to meet its requirement.