Web Dev 85

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

WEB DEVELOPMENT FOR INFORMATION SYSTEM

BASED ON USER MANAGEMENT SYSTEM

Name: SHANAWAZ MOHAMMED


Course: Information System with
computing
Subject: BSIS109
ID:20007044

1
Table of Contents
Introduction .......................................................................................................................... 3
Research and Planning .......................................................................................................... 3
Comprehensive Research ................................................................................................... 3
Project Plan ....................................................................................................................... 3
Design Pattern ................................................................................................................... 3
Choice of Framework and Technologies................................................................................ 3
User Experience for Frontend Framework ......................................................................... 3
Design ............................................................................................................................... 3
User Experience for Design ............................................................................................... 4
Backend Technologies ....................................................................................................... 4
Consumption of Web Services .............................................................................................. 4
Web Services into the Application ..................................................................................... 4
Ability to Consume External Data or Services ................................................................... 4
Using JSON or XML files for this application ................................................................... 4
Technologies of Counter-Security Vulnerabilities ................................................................. 4
Potential Threats ................................................................................................................ 4
Security Threats and Measures .......................................................................................... 5
Developing a Robust error-handling .................................................................................. 5
Informative and Useful for Troubleshooting ...................................................................... 5
Using Error Handling and Logging Strategies .................................................................... 5
Features ............................................................................................................................. 5
User Authentication and Authorization.................................................................................. 6
Secure Access for the User Authentication ........................................................................ 6
Role-based Authorization Mechanisms .............................................................................. 6
Authentication and Unauthentication Process .................................................................... 6
Responsive Design ................................................................................................................ 6
Deployment to Cloud .......................................................................................................... 11
Conclusion .......................................................................................................................... 13
References .......................................................................................................................... 13

2
Introduction

The user management system is a robust web application featuring distinct interfaces—a
dedicated executive site and a user-friendly student site—crafted using HTML and CSS. On
the executive site, authorized staff members can securely log in and efficiently handle user
management tasks. This includes modifying user status and profiles through an intuitive Admin
interface. Conversely, the user site offers a seamless experience, allowing individuals to
register as new members after obtaining details from administrators or logging in using existing
credentials. During the registration process, new users are prompted to submit essential
information such as their name, email address, and credentials, ensuring a secure and
personalized membership experience tailored to HTML and CSS design principles.

Research and Planning


Comprehensive Research
The user management system required extensive study, which included a review of current user
management systems, a determination of user needs, and an understanding of the difficulties
that users get in understanding new features and apis.
Project Plan
The user management system project plan lists activities and objectives. Phases of research,
creation, testing, and deployment are all included. The project has a six-month timetable that
distributes tasks and resources as needed (Allugunti, 2022).
Design Pattern
The Model-View-Controller (MVC) paradigm has been selected as the design paradigm for the
user management software (Rigge and Su, 2020). It maintains a distinct division of
responsibilities, with the Controller overseeing the relationships between the Model and View,
the View managing the user the interface, and the Model reflecting the data and company logic.
Choice of Framework and Technologies
User Experience for Frontend Framework
Incorporating responsive design, straightforward navigation, and accessibility enhancements
will help to provide a flawless user experience. Give user-centered design concepts first priority
while developing a front-end architecture that works with a range of devices and user
requirements.
Design
The user management initiative's design prioritizes user-centricity, offering users and pupils an
easy-to-use interface that is aesthetically pleasing. It offers a smooth and interesting user

3
experience while adhering to contemporary design principles, guaranteeing accessibility and
reactivity.
User Experience for Design
The design places a high priority on improving the user experience through the use of
aesthetically pleasing components, a clear and simple layout, and uniform typography (Lund
and Ma, 2021). Usability and reactivity are prioritized, guaranteeing smooth device operation.
Backend Technologies
Node.js and Express.js are the chosen backend programming languages for the user
management system. Express.js is a simple and adaptable online application framework,
whereas Node.js provides an effective execution environment for JavaScript execution on a
server.
Consumption of Web Services
Web Services into the Application
To improve the usability of an application, incorporate web services. Use APIs for user
authentication , weather and a books library. Integrate outside data sources as well to offer
constantly changing data, like books and weather details according to the data fetched from
API call.
Ability to Consume External Data or Services
By smoothly integrating and consuming other data and offerings, the book finding program
improves its usefulness and makes resources more accessible. This feature enhances the user
experience by extending the program's usefulness by integrating more data sources, such as
book libraries.
Using JSON or XML files for this application
JSON files will be included in the user management app for data sharing and storage.
Information about books, weather data, and payments will be organized and stored using JSON
to enable effective data access and modification.
Technologies of Counter-Security Vulnerabilities
Potential Threats
The management system for api may include security vulnerabilities pertaining to user
accounts, confidential database collections, and unapproved access to administrative tasks. The
security of user data and the integrity of the structure may also be at risk from SQL injection,
which includes attacks known as denial-of-service, and data breaches.

4
Security Threats and Measures
Security Threats
1. Unauthorized Access: Ensure that strong authentication processes are in place for student
and administrator logins.
2. Data Breaches: Use encryption and access controls to protect sensitive data.
3. SQL Injection: Use parameterized queries to protect yourself against injection attacks.
4. Denial-of-Service: Use rate limitation and precautions for network security to decrease the
effect of DoS assaults.
Security Measures
1. Multi-factor authentication is necessary for all user accounts.
2. Data encryption, role-based access control, and routine security audits.
3. In order to prevent SQL injection, sanitization, and input validation are necessary.
4. Use a web application firewall and content delivery network to stop denial of service attacks.
Developing a Robust error-handling
A library's administration system must have a robust error-handling mechanism. Detailed
logging and informative error messages are included to aid in diagnostics and troubleshooting.
Informative and Useful for Troubleshooting
Making error messages comprehensible and useful for troubleshooting is essential.
Communications should provide a detailed description of the issue, relevant background
information, and potential solutions.
Using Error Handling and Logging Strategies
Effective error handling and logging strategies are crucial. Establish structured error-handling
protocols to recognize, categorize, and share mistakes. Extensive logs, containing timestamps
and error data, aid in the quick detection, and resolution of bugs, and post-event study of
problems (Zolduoarrati and Licorish, 2021).
Features
User-friendly interfaces, secure database administration with a collection for “authors, books,
borrowed books, genres, and members, and user authentication” for administrators and users
are some of the user management system's key features. It makes it easier for users to register,
generate apis after receiving admin permission, and manages a wide variety of features and
active apis effectively.

5
User Authentication and Authorization
Secure Access for the User Authentication
The user management system's user identification and authorization processes must be strong
to provide secure access (Roy et al. 2023). Passwords for users must be transferred and
maintained securely. Simply limiting the activities that users may do, access control helps to
protect the integrity and confidentiality of sensitive data.
Role-based Authorization Mechanisms
The user management system's role-based authorization algorithms distribute access according
to user roles. Administrators may control system data, and students can order books and view
their own profiles.
Authentication and Unauthentication Process
The user management system's authentication procedure entails confirming a user's
identification via email and password. Access to system functionalities is granted upon
successful authentication. Logging out, also known as unauthentication, ends the session and
stops unwanted access (Zhang et al. 2019).
Responsive Design

Login Form

6
Sign Up Form

Figure 1: Showing the Home Page of the User Management System


The above snip shows the home page of the library management system website, in this page
shows two windows for admin and student.

Figure 2: Showing the Admin Page of the User Management System


This snip shows the admin page for the user management system, for login this page requires
the admin email ID and password. The above snip states the admin login page for the existing
admins, in this step, the admin login requires the email ID and password.In this snapshot shows
that admin can add more users for access the webpage with different widgets and api.

7
Figure 3: Showing the signup Page of the User Management System
According to the above snip, it can be obtained that shows the signup page for new admins in
the library management system.

Figure 5: Showing the registermodel in MongoDB Database


The above snip represents data in the register admins on the MongoDB website, in this step,
every data shows the username, email and a password for admins

Figure 6: Showing the user collection in MongoDB Database

8
The above figure shows user_collection in the MongoDB database, this step shows the id,
name, and email,password, gender, status for creating the user profile so that they can access
the widgets page.

Figure 7: Showing the Use Case of the Library Management System


The use case diagram shows the link between the library system to the database, this step shows
the separate page for admin, student, and new student.

Search Option to search users added in database

Above screenshot shows users can search using this search route where specific user can be
found out by typing a name of user and press search.

9
Adding new user to database

Above screenshots how new user can be added in database to give them the access and to use
widgets webpage. Admins can controls the user profile from here.

User modification

Above screenshot shows users can be modified and updated using features and also the part
of crud opertion

10
Books API

With above screenshot user can access the google books api where user can fetch different
books with just typing of name in the search bar. This is based google api which is integrated
in nodejs using fetch function.

const api_key='AIzaSyAA5BNl9WcPT7OZiyktXKTZI1lWPwjcbsY';
route.get('/books',(req,res)=>{
const searchTerm=req.query.book;
const booksAPI =
`https://www.googleapis.com/books/v1/volumes?q=${searchTerm}&key=${api_key}`;

Weather API

11
Above screenshot shows the api for weather report which gives the information about
weather of any place in the world using openweather api where I have registered myself to
get api key and then using api I used in nodejs to find out the weather details

const weatherAPI =
`https://api.openweathermap.org/data/2.5/weather?q=${cityname}&appid=554d38f89
048171633644af0fc6bd089`;

Deployment to Cloud
To deploy a Node.js and Express application with a MongoDB database using Mongoose on
Render, you can follow these steps. First, ensure your Node.js application has a package.json
file specifying your dependencies. Configure your MongoDB connection using Mongoose,
providing the appropriate connection string for your MongoDB Atlas database. Utilize Express
to define your API routes and server logic. Next, create a render.yaml configuration file in your
project, specifying the web service as "web" and adding prebuild and start commands.
Additionally, include environment variables for securely storing sensitive information, such as
database credentials. Finally, push your code to a Git repository and connect it to a new Render
service. Render will automatically detect your Node.js application, install dependencies, and
configure the web service. Your application, complete with MongoDB integration, will be
seamlessly deployed on Render, offering a scalable and reliable cloud infrastructure for your
presentation.

Security:
JSON Web Tokens (JWT) play a key role in our user management system, ensuring secure
communication between different parts of our web application. Think of a JWT as a digital
passport: it contains information about the user, like their name and permissions, and is signed
to make sure it's authentic. We use it to allow authorized staff on the executive site to manage
users securely and let users on the student site register or log in without compromising their
data. It's like a secure handshake between different sections of our application, keeping things
private and verified. Just like passports have an expiration date, JWTs have a timeframe, so
they don't stick around forever, adding an extra layer of security. It's like having a digital
bouncer making sure only the right people get access to the right places.

12
Conclusion

In summary, the HTML and CSS-based user management system has significantly enhanced
library operations, providing an efficient and user-friendly platform. This system facilitates
seamless user management, user identification, and issue monitoring, catering to the needs of
both users and administrators. However, it is paramount to prioritize the identification and
mitigation of potential security vulnerabilities, including data breaches and unauthorized
access. Safeguarding user information and maintaining the system's integrity necessitate the
implementation of robust security measures, such as thorough error handling, encryption
protocols, and robust authentication methods. By incorporating these security mechanisms, the
user management system can ensure a secure and reliable environment for both administrators
and users alike.

Appendix:

GithubURL: https://github.com/SHANAWAZ1402/UserManagement
RenderURL: https://user-management-system-jq2v.onrender.com/
MongoURL:
mongodb+srv://mdshanawaz1402:shanu123@cluster0.sdsj54m.mongodb.net/

References

Allugunti, V.R., 2022. A machine learning model for skin disease classification using
convolution neural network. International Journal of Computing, Programming and Database
Management, 3(1), pp.141-147.

Liu, A., 2020. Toward a diversity stack: Digital humanities and diversity as technical problem.
PMLA, 135(1), pp.130-151.

Lund, B. and Ma, J., 2021. A review of cluster analysis techniques and their uses in library and
information science research: k-means and k-medoids clustering. Performance Measurement
and Metrics, 22(3), pp.161-173.

13
14

You might also like