Professional Documents
Culture Documents
HLD Se
HLD Se
HLD Se
On
Submitted By:
Uttej Penta -21071A05H3
Prem Sai Reddy Pitta -21071A05H4
High-Level Design Version 1.0.0
Contents :
Revision History ...................................................................................................................................... 2
2. Requirements ................................................................................................................................... 4
3. Architecture ..................................................................................................................................... 6
4 Standards ....................................................................................................................................... 10
Page 1 of 10
4.2 Disaster Recovery .................................................................................................................... 10
5. Support .............................................................................................................................................. 10
High-Level Design Version 1.0.0
Revision History
Page 3 of 10
High-Level Design Version 1.0.0
1. Project Overview
1.1 Purpose
The purpose of this document is to specify the high-level design for the Smart Voting
System (SVS).This document will act as an outline for implementation and discuss the
design considerations.
1.2 Audience
The high-level design was selected by deciding what aspects of the system were most
important and then building an architecture around them. The pros and cons of each
architecture and technology were discussed in meetings. For each technology
proposed we explored and researched on feasibility and capability. HTTP Web
services technology would allow the system to be less coupled and more cohesive.
Communication between client and server would utilize http-server using port 78. This
technology would also provide ability for any interface to utilize the web services of
the web server on the network. ReactJS technology would allow the system to be more
coupled meaning the client is more dependent upon the server side.
Communication between the client and server would be invocations through a reactJs
application interface and http server which are passed as parameters. After research
and proof of concepts, the team reached consensus to implement a distributed system
that uses http-server and reactJS.
Page 4 of 10
High-Level Design Version 1.0.0
2. Requirements
The overall requirements of this system remain unchanged from the “Analyse”
phase gate deliverable of the Software Requirements Specification. In summary
from that document, the main requirements are:
• To provide the users with a easy interface through which they can enrol as a new
voter without any long process of application and time consuming.
• To provide users the ability to vote from anywhere without any inconvenience and
proper verification and easy to vote by any vote literate or illiterate.
Page 5 of 10
High-Level Design Version 1.0.0
3. Architecture
3.1 Design
Server Client
HTTP-server
SVS Web Client
Serves http )
Web Server (
Spawns
MongoDB Client
Communicates ( ReactJS )
Uses
SV DB MongoDB Server (Java)
Communicates
Client
SVS Console
Interface (ReactJS)
Feeds
Any External
Program or
Script
SERVER:
• HTTP Server :
Page 6 of 10
High-Level Design Version 1.0.0
The web server for the SVS provides an access for all authorized users
to the VS client application. To access the client application, users have
to login to the SVS and the system will spawn the main client
application on to the client machine. HTTP server has been chosen as
the web server that will handle authentication and client application
delivery.
• MongoDB Server :
The MongoDB server is the server that communicates with the
client application. The communication between the client and the server
will be implemented using MongoDB and react interface. The
MongoDB server itself will be running on the server in order to provide
naming services to the remote objects. The JS behind React app will
handle all the system’s persistency and logic.
CLIENT:
• VS DB:
The VS (Voting System) database provides all the necessary data that
the MongoDB server requires in order to compute the correct report
data. The schema and entries of the database are provided by the SVS
department. New data can be added to the database at any time.
• MONGODB CLIENT :
Page 7 of 10
High-Level Design Version 1.0.0
The client of the SVS handles the presentation and user input layer for
the SVS main system. It provides an interface for the user to
communicate with the system. The application will be implemented in
reactjs for application interface.
• SVS CONSOLE:
3.1.1 Version
Version 1.0 – Initial version of the system that has the basic J2EE
architecture.
Version 1.1 – After meeting with technical staff from the managing team,
the development team found out that there would be no application server
residing on the machine. The current version utilizes ReactJS and
MongoDB technology which can avoid the need for an application server.
3.1.2 Server Roles
HTTP – A web server that is needed to host a user client of the SVS
system. The functionality of this server will not only handle the hosting of
the Mongo client, it will also provide the only means of authentication.
MongoDB – The server will have to run the commands in order to utilize
the technology. The registry provides the capability of locating the remote
objects that are residing on it.
3.2 Access
The system will be accessible through a Mongo client. The client system will
download and execute the user and web client from the server side. The MongoDB
client will run on the client system and access the server side for functionality. The
server also accesses another system for the MySQL database.
Page 8 of 10
High-Level Design Version 1.0.0
Hardware Requirements:
Connectivity
Cloud Infrastructure
Sensors
Packages Installed:
"express-async-handler": "^1.2.0"
"file-saver": "^2.0.5"
"font-awesome": "^4.7.0"
"jsonwebtoken": "^9.0.0"
"mongodb": "^5.5.0"
"react": "^18.2.0"
"axios": "^1.4.0",
"bcryptjs": "^2.4.3",
"bootstrap": "^5.3.0",
"dotenv": "^16.3.1",
"express": "^4.18.2"
The client will connect with the system using HTTP server technology so both
client and server needs to reside on the RIT network and the necessary ports are
available to both client and server.
Page 9 of 10
High-Level Design Version 1.0.0
4 Standards
The system shall verify the username and password using ReactJS and MongoDB
client Authentication.
Restart server program as directed in the operational manual and the system will
return to last safe state.
5. Support
The following support documentation will be provided: Code, Design Document,
Operations Manual, and Deployment Plan. The system code shall be documented
according to the "React code conventions and best practices" available at
https://levelup.gitconnected.com/react-code-conventions-and-best-practices-
433e23ed69aa .The system shall be described by a "Design Document." The system
shall be accompanied by an "Operations Manual" describing proper use of the system.
The system shall be deployed using operations described in the "Deployment Plan."
Page 10 of 10
High-Level Design Version 1.0.0
Page 11 of 10