0% found this document useful (0 votes)
141 views55 pages

Project Report

The project report details the development of a serverless web application for student data management using AWS, aiming to simplify operations for educational institutions. It highlights the advantages of serverless architecture, such as reduced complexity, scalability, and cost-effectiveness, while utilizing AWS services like Lambda, API Gateway, and DynamoDB. The report outlines the project's objectives, technical goals, and the literature supporting the effectiveness of serverless computing in real-world applications.

Uploaded by

shreyagavhane24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
141 views55 pages

Project Report

The project report details the development of a serverless web application for student data management using AWS, aiming to simplify operations for educational institutions. It highlights the advantages of serverless architecture, such as reduced complexity, scalability, and cost-effectiveness, while utilizing AWS services like Lambda, API Gateway, and DynamoDB. The report outlines the project's objectives, technical goals, and the literature supporting the effectiveness of serverless computing in real-world applications.

Uploaded by

shreyagavhane24
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Camp Education Society’s

Dr. Arvind B. Telang Senior College


Nigdi, Pune – 411 044

A
PROJECT REPORT
ON

“ Serverless Web Application for


Student Data Management using
AWS”

Submitted to

Savitribai Phule Pune University


In Fulfillment Of

[Link]. (Computer Science) Sem-IV

Academic Year
2024-25
1
2
3
ACKNOWLEDGMENT

I would like to express my gratitude and sincere regards to

the following people to whom I am grateful for the support and

help. Without guidance I have been not able to do this project

“Serverless Web Application for Student Data Management

using AWS”.

I would like to thanks my Project In-charge

and H.O.D. ([Link].) Department Prof. Midgule Vinayak for

providing her/his guidance during development of this project .

I sincerely thanks to all the faculty members of Computer

Science department for their guidance and support throughout the

Project.

Nikita Somnath Dargude

4
INDEX
Sr. No. Content Page No
1. Abstract 6
2. Introduction 7
2.1 motivation 8
2.2 problem statement 9
2.3 purpose/objective and goals 10 to 11
2.4 literature survey 12 to 13
2.5 project scope and limitations 14 to 16
3. System analysis 17
3.1 Comparative study of Existing systems 18 to 20
3.2 scope and limitations of existing systems 20 to 21
3.3 project perspective 21 to 22
3.4 features 22 to 25
3.5 stakeholders 25 to 26
3.6 Requirement analysis - Functional requirements, 26 to 28
performance requirements, security requirements
etc.
4. System Design 29 to 31
4.1 Design constraints 31 to 32
4.2 E-R Diagram 33
4.3 UML diagrams
Class Diagram
Object Diagram 33 to 35
Use Case Diagram
Activity Diagram
Component Diagram
Deployment Diagram
4.4 Data Model 36
4.5 User interfaces 36 to 38
5. Implementation details 39 to 42
5.1 Software/hardware specifications 43
6. Input and Output Screens 44
7. Reports 45 to 46
8. Testing 47
8.1 Test Plan, Black Box Testing or Data Validation Test
Cases, White Box Testing or Functional Validation 47 to 49
Test cases and results
9. Conclusion and Recommendations 50 to 51
10. Future Scope 52 to 53
11. Bibliography and References 54 to 55

5
[Link]
A chatbot is a computer program that simulates and processes human conversation

allowing humans to interact with digital devices as if they were communicating with a

real person. Chatbots can be as simple as rudimentary programs that answer a simple

query with a single-line response, or as sophisticated as digital assistants that learn

and evolve to deliver increasing levels of personalization as they gather and process

information.

Chatbots help in customer support, generating information, user navigation etc.,

Organizations looking to increase sales or service productivity may adopt chatbots for

time savings and efficiency, as artificial intelligence (AI) chatbots can converse with

users and answer recurring questions. As consumers move away from traditional

forms of communication, many experts expect chat-based communication methods to

rise. Organizations increasingly use chatbot-based virtual assistants to handle simple

tasks, allowing human agents to focus on other responsibilities.

In this project we will use Python to build a simple chatbot that can interact with users.

Here we make use of AI and Natural Language Processing in Python to create and

train a chatbot to respond appropriately to an user requests.

Natural Language Processing (NLP) makes it possible for computers to understand

the human language. Behind the scenes, NLP analyzes the grammatical structure of

sentences and the individual meaning of words, then uses algorithms to extract

meaning and deliver outputs. In other words, it makes sense of human language so

that it can automatically perform different tasks. A well-known application of NLP is

chatbots. They help support teams solve issues by understanding common language

requests and responding automatically.

6
[Link]
With the rise of modern digital platforms, organizations and institutions
increasingly rely on technology to streamline their operations. Web
applications play a critical role in enabling access to information anytime,
anywhere. However, traditional approaches to web development often
involve complexities such as managing servers, provisioning
infrastructure, and scaling resources manually. These challenges can
become a barrier, especially for small organizations or academic
institutions that may lack dedicated IT staff or a high budget.
To address this, cloud computing — particularly serverless architecture
— offers a revolutionary shift. Serverless computing allows developers to
focus purely on code and logic while leaving the infrastructure
management to cloud providers like Amazon Web Services (AWS). This
project takes advantage of AWS’s robust serverless ecosystem to
develop a fully functional, cost-effective Student Data Management Web
Application that is scalable, secure, and easy to maintain.
Serverless computing has revolutionized how web applications are
developed and deployed in the modern digital landscape. Unlike
traditional server-based applications, serverless architectures allow
developers to focus solely on application logic while the infrastructure
and scalability concerns are managed by cloud providers like Amazon
Web Services (AWS). This shift leads to faster development cycles,
lower operational overhead, and better alignment with cloud-native
development principles.
In this project, we leverage a suite of AWS services—Amazon S3,
Lambda, API Gateway, DynamoDB, and IAM—to build a cloud-native,
serverless student data management system. This application serves as
a practical implementation of theoretical knowledge, aiming to provide
hands-on experience in cloud infrastructure, backend development, and
API management.
The frontend of the application is hosted on Amazon S3 as a static
website, enabling users to interact through intuitive web pages. These
interactions trigger backend AWS Lambda functions via Amazon API
Gateway, which in turn perform CRUD operations on the student records

7
2.1 Motivation
The motivation for this project stemmed from observing how student
records are often maintained manually or in outdated systems. These
methods are time-consuming, prone to errors, and lack real-time
accessibility. Institutions require a digital solution that is both easy to use
and flexible enough to evolve with their needs. AWS serverless
technology enables such solutions by offering
ready-to-use cloud services that scale automatically and operate under a
pay-as-you-go pricing model.
This project aims to utilize AWS services like S3, Lambda, API Gateway,
DynamoDB, and IAM to develop a lightweight student data management
system. This system will provide a simple yet powerful platform for users
to input and retrieve student information without the need to manage
servers or install complex software.
In recent years, cloud computing has revolutionized how software
applications are designed, deployed, and maintained. The advent of
serverless computing has further advanced this evolution by abstracting
away infrastructure management, allowing developers to focus purely on
code and functionality. Educational institutions and training organizations
increasingly rely on digital systems for data management, particularly for
storing and accessing student records. The motivation behind this
project is to design a cost-effective, scalable, and secure serverless
application using AWS that can efficiently manage student data while
minimizing infrastructure overhead.
Traditional monolithic applications often require significant investment in
server hardware, software licenses, and human resources to manage
them. This approach does not scale well for organizations with limited
budgets and rapidly changing needs. Educational institutions, in
particular, face challenges maintaining digital infrastructure that meets
modern demands such as real-time data access, cloud storage, and
remote usability.
The emergence of serverless computing—where backend code runs in
managed, event-driven environments—presents a transformative
solution. The motivation behind this project stems from the need to

8
simplify application development and deployment while ensuring
performance, scalability, and cost control.

2.2 Problem Statement


In conventional application deployments, managing servers, configuring
databases, and ensuring secure access are tasks that require time,
expertise, and financial resources. These barriers often hinder small
organizations or educational teams from deploying reliable and scalable
applications. The absence of scalability and automation in legacy
systems makes them susceptible to downtime, performance bottlenecks,
and security issues.
This project addresses these problems by creating a completely
serverless application that avoids traditional infrastructure pitfalls. By
using AWS Lambda, API Gateway, and DynamoDB, the backend
automatically scales based on demand and eliminates idle resource
costs. S3 provides a highly durable and available platform for frontend
hosting. This setup removes the complexity of traditional server
management while maintaining enterprise-level performance, reliability,
and security.
Traditional web application development poses several
challenges:
 Infrastructure Setup: Requires provisioning of servers, storage,
and network components
 Maintenance: Needs regular updates, monitoring, and security
patching
 Scaling: Manual scaling leads to service disruption during high
demand
 Cost: High initial investment in hardware and software
 These issues are especially burdensome for smaller organizations.
This project attempts to solve these challenges by building
an application that:
 Does not require manual server management
 Automatically scales based on traffic
 Stores data flexibly using NoSQL structure
 Provides access via a static web frontend

9
 Using AWS serverless components, this project reduces
infrastructure complexity and enables a fully cloud-native web
solution tailored for academic use.

2.3 Purpose/Objective and Goals

 PURPOSE
The purpose of this project is to implement a serverless student
data management system using AWS.
The primary purpose of this project is to design, develop, and deploy a
scalable and cost-effective serverless web application using Amazon
Web Services (AWS) for managing student data. The project aims to
demonstrate how modern cloud technologies can simplify web
application development by eliminating the need for traditional server
infrastructure.
This project serves both educational and practical objectives, offering
students the opportunity to gain hands-on experience with cloud-native
tools and practices. By building a serverless solution, the project
highlights the advantages of using event-driven architecture, stateless
computation, and NoSQL data storage in a real-world context.

Specifically, the project intends to:


 Replace traditional server-based systems with a serverless
architecture to reduce complexity and maintenance.
 Utilize AWS Lambda for executing backend logic in Python without
provisioning servers.
 Employ Amazon API Gateway to manage and route HTTP
requests between the frontend and backend.
 Host a static frontend on Amazon S3 to enable user interaction via
web browsers.
 Store and manage student records using Amazon DynamoDB, a
highly scalable NoSQL database.
 Secure application components through fine-grained IAM roles and
policies.
 In doing so, the project fulfills its educational goal by applying
classroom concepts in a cloud environment while also

10
demonstrating the effectiveness of serverless computing for real-
world applications.

 OBJECTIVES:

1. To design a cloud-native web application using AWS services that


follows a serverless model.
2. To host a static frontend website using Amazon S3 for collecting
and displaying student data.
3. To develop backend logic with AWS Lambda functions written in
Python for handling data operations (insert and retrieve).

4. To use Amazon API Gateway for routing HTTP requests from the
frontend to the appropriate Lambda functions.

5. To store and retrieve student records using Amazon DynamoDB,


a fast and flexible NoSQL database.

6. To implement secure access control using AWS IAM roles and


policies for all integrated services.

7. To gain hands-on experience with key AWS services and cloud


concepts.

8. To demonstrate the scalability and flexibility of serverless


computing.

9. To ensure minimal cost and maintenance overhead through pay-


as-you-go service usage.

10. To test and validate application behavior using sample data and
API responses.

 GOALS OF THE PROJECT :

The main goals of this project are to conceptualize, develop, and


deploy a fully functional serverless web application using Amazon
Web Services (AWS) and to demonstrate how such a model can

11
provide a scalable, cost-effective, and easy-to-maintain solution for
data management tasks—in this case, student data.

Technical Goals:

1. Eliminate server management by leveraging AWS Lambda for


executing backend logic without provisioning or managing
infrastructure.

2. Achieve high availability and scalability by using fully managed


services like API Gateway and DynamoDB.
3. Build a responsive and accessible frontend using static website
hosting on Amazon S3.
4. Establish secure and controlled access to cloud services using
IAM roles and policies.

5. Ensure fast data operations through efficient Lambda-


DynamoDB integration.

Educational Goals:
1. Apply theoretical knowledge of cloud computing in a real-world
project scenario.
2. Understand serverless application design patterns, including
event-driven architecture and stateless computing.
3. Gain practical experience in using AWS services such as S3,
Lambda, API Gateway, DynamoDB, and IAM.
4. Learn to deploy and monitor a complete cloud application using
the AWS Management Console.
5. Prepare comprehensive documentation and testing artifacts
suitable for academic evaluation and future reference.

2.4 Literature Survey

12
Serverless architecture has been widely adopted for building cloud-
native applications. Literature and case studies suggest that platforms
like AWS provide robust services (Lambda, API Gateway,
DynamoDB) that can significantly reduce operational burden and
cost. Educational institutions and startups have successfully used
these tools to deploy lightweight applications, proving the
architecture's efficiency and scalability.

The concept of serverless architecture has gained significant traction


in recent years, with growing interest from academia, industry
professionals, and cloud service providers. Serverless computing
represents a shift from traditional server-based infrastructure to a
model where the cloud provider dynamically manages the allocation
of machine resources. This paradigm has been enabled by
technologies such as Function-as-a-Service (FaaS) and Backend-as-
a-Service (BaaS).

A variety of scholarly articles and technical whitepapers


highlight the benefits of serverless computing, including:

 Scalability: Applications automatically scale up and down in


response to demand, which is particularly useful for applications
with unpredictable or variable workloads.

 Cost-efficiency: Serverless architectures follow a pay-per-use


billing model, which significantly reduces costs compared to
always-on server models.
 Reduced Operational Overhead: Developers do not need to
provision, scale, or maintain servers. This leads to faster
development cycles and reduced DevOps responsibilities.

Amazon Web Services (AWS) is one of the most comprehensive


and widely adopted platforms offering serverless capabilities
through services like:

 AWS Lambda: Executes backend logic in response to events.

13
 Amazon S3: Hosts static frontend files.

 Amazon DynamoDB: A NoSQL database that scales


automatically with application demands.

 Amazon API Gateway: Serves as a front door for APIs, routing


client requests to Lambda functions.

Previous academic projects and industry use cases demonstrate


how serverless solutions are particularly effective in building
small to medium-sized applications with dynamic workloads.
For example:

 Educational platforms have used serverless systems to collect


and analyze student activity data.
 E-commerce websites use Lambda and DynamoDB to handle
product catalogs and user sessions with minimal latency.
 Startups benefit from reduced infrastructure management,
allowing them to focus on core product development.

Moreover, documentation and tutorials provided by AWS and the


developer community support quick learning and experimentation.
The availability of these resources has made it easier for new
developers and students to build end-to-end applications with real-
world utility.
In the context of this project, the serverless architecture was adopted
to simplify application deployment, reduce infrastructure costs, and
achieve scalability and security. The model closely aligns with the
best practices suggested in literature, validating its practical
effectiveness and academic relevance.

2.5 Project Scope and Limitations


Project Scope
14
This project involves the development of a cloud-native serverless
web application hosted entirely on Amazon Web Services (AWS).
The scope includes all the necessary components required to build
a complete application that collects, stores, and retrieves student
data.

Key features within scope include:


 Designing a static frontend using HTML, CSS, and
JavaScript and hosting it using Amazon S3.

 Implementing backend logic using AWS Lambda


functions coded in Python to handle HTTP POST and
GET requests.

 Creating and configuring an API Gateway to route


client-side requests to Lambda functions.

 Creating a DynamoDB table to store student


information in a NoSQL format, allowing fast and
flexible access to data.

 Securing cloud resources with appropriate IAM roles


and bucket policies to enforce the principle of least
privilege.

 Integrating all components to form a fully functional


serverless web application.

 Testing the complete system with real-time inputs and


outputs.

 Documenting all aspects of the application for


academic review and future enhancement.

15
Project Limitations
While the project demonstrates the power and flexibility of
serverless architecture, it also has certain limitations due to
resource, time, and complexity constraints:

 Frontend Design Limitations: The user interface is basic


and does not include responsive or mobile-first design
principles. Advanced frameworks like React or Angular are
not used.

 Authentication and Authorization: The application does


not implement user-based login or secure authentication
mechanisms such as AWS Cognito or OAuth2.

 Data Validation and Error Handling: While basic input


validation is present, comprehensive backend data
validation, sanitization, and error logging are limited.

 Single Table Structure: The DynamoDB model uses a


single table, which may not scale well if more complex
relationships or multiple entity types are introduced.

 Scalability Testing: Although the application is built using


scalable technologies, extensive load and performance
testing is not included in this version.

 Limited Analytics and Monitoring: Advanced logging,


metrics, and monitoring tools like AWS CloudWatch
dashboards and X-Ray tracing are not deeply integrated.

16
These limitations can be addressed in future versions of the
application as it evolves into a more feature-rich and production-
ready system.

[Link] analysis

System analysis is the process of examining a business situation with


the intent of improving it through improved procedures and methods. In
the context of this serverless application project, system analysis
involves studying the current practices of web application development
and contrasting them with the advantages offered by a serverless model
implemented on AWS.
System analysis is a critical phase in the software development lifecycle,
aimed at understanding, evaluating, and planning how a proposed
system will function in comparison to existing systems. It involves
identifying system requirements, analyzing existing problems, and
proposing effective technological solutions.
In the context of this project, the system analysis phase focuses on
understanding how traditional web application architectures compare to
serverless models. The goal is to assess the benefits and challenges
associated with shifting from monolithic or client-server-based
infrastructures to serverless platforms like AWS. This analysis provides
insight into how AWS services—such as Lambda, S3, API Gateway, and
DynamoDB—interact to form a fully functional, scalable, and cost-
effective student data management system.
The system is designed with specific stakeholders in mind, such as
students and administrators, and aims to deliver features like real-time
data storage, retrieval, and web access through secure, serverless
components. Functional, performance, and security requirements are
also identified to ensure the system meets modern cloud application
standards.

17
3.1 Comparative study of Existing systems

Existing student management systems typically rely on traditional


server-based infrastructures. These systems require continuous
maintenance, provisioning, and manual scaling. Popular setups include
LAMP (Linux, Apache, MySQL, PHP) stacks hosted on VPS or
dedicated servers, which involve high operating costs and complex
deployment cycles.
Compared to traditional systems, the proposed serverless model
provides several advantages:

18
 No server management required.
 Automatic scaling and fault tolerance.
 Reduced operational costs with pay-as-you-go pricing.
 Simplified deployment and maintenance.
Before the adoption of cloud-native serverless architectures, most
educational platforms and web-based applications were built using
traditional client-server models.
These systems typically involved:
 On-Premise Servers or Virtual Machines: Applications were
hosted on physical hardware or virtual servers that required
manual configuration, provisioning, and continuous maintenance.

 Relational Databases (RDBMS): Data storage relied on MySQL,


PostgreSQL, or Oracle databases, which enforced strict
schemas and normalized data structures.

 Backend Frameworks and Web Servers: Developers used


server-side frameworks like PHP, [Link], or Java Spring Boot
and deployed them on web servers such as Apache or Nginx.

 Manual Scaling and Deployment: Scaling the infrastructure


based on traffic demands required manual intervention or the
implementation of autoscaling groups, which increased complexity.

 DevOps and CI/CD Pipelines: These systems depended on


sophisticated deployment pipelines involving Jenkins, GitLab
CI/CD, and container orchestration tools like Docker and
Kubernetes.
Challenges Faced by Traditional Systems:
 High cost of ownership due to hardware, licensing, and human
resources.
 Complexity in managing infrastructure and deployment processes.
 Delays in scaling, patching, and performing maintenance tasks.
 Higher risk of downtime during server failures or peak traffic.

19
 Difficulties in implementing granular security policies without
specialized teams.
In contrast, modern serverless systems abstract away all
infrastructure management responsibilities. Developers can focus
solely on writing business logic while AWS handles scaling,
availability, and execution:

 No Infrastructure Management: AWS Lambda runs code in


response to events without requiring server provisioning.

 Flexible and Schema-less Storage: Amazon DynamoDB allows


storage of varying record structures with high availability.

 Event-Driven Architecture: API Gateway routes requests to


Lambda functions based on user actions.

 Cost Efficiency: Charges are based on actual usage (execution


time and resource consumption), eliminating idle costs.

 Security Built-in: I AM provides fine-grained access controls


across all services.

This comparison highlights how serverless computing resolves


many limitations inherent in traditional systems, making it a
superior choice for agile development and scalable applications.

3.2 Scope and limitations of existing systems

Scope of Traditional Systems: Traditional client-server systems and


monolithic architectures were suitable and widely adopted for various
large-scale enterprise and institutional applications, especially before the
rise of cloud and serverless computing. Their scope included:
Full Control Over Infrastructure: Organizations had granular control
over physical or virtual servers, storage, and networking.
20
Customization: Applications could be tailored with fine-tuned
configurations for performance, memory, and processing.
Persistent and Stateful Processing: Systems could maintain long-
running background tasks, sessions, and complex data transactions.
Comprehensive Monitoring and Logging: Local or third-party tools
enabled deep analysis of performance, usage, and system health.

Support for Legacy Systems: Easily integrated with older enterprise


software, databases, and APIs.

Limitations of Traditional Systems:


Despite the initial benefits, traditional systems pose a number of
significant drawbacks in the current fast-paced, cloud-first era:
High Operational Costs: Setting up and maintaining infrastructure
requires capital investment and dedicated IT staff.
Scalability Issues: Scaling up for high demand involves provisioning
new hardware or virtual machines, leading to delays and increased
costs.
Resource Underutilization: Often, servers remain underused during
off-peak times, leading to wasteful expenditure.
Complex Deployment Pipelines: CI/CD and system updates require
additional software and workflows, increasing complexity.
Security Risks: Without centralized security policies and automatic
patching, systems are more vulnerable to breaches.
Maintenance Overhead: Requires continuous maintenance of
operating systems, software libraries, and hardware.
In contrast, the serverless approach used in this project eliminates most
of these issues. It reduces cost, enhances scalability, simplifies
deployment, and improves security through AWS-managed services.
However, traditional systems still remain relevant for highly specialized,
compute-intensive applications that require persistent connections or
custom infrastructure configurations.

21
3.3 project perspective
This project is designed from the perspective of building a scalable,
modern, and cost-effective cloud application that embraces the
serverless computing paradigm. The adoption of AWS services allows
for a modular, event-driven architecture where each component is
independently managed and triggered by specific events or user
interactions.
The project takes a holistic view of application development in the cloud
era, aiming to eliminate traditional limitations such as infrastructure
complexity, server maintenance, and high deployment costs. The chosen
architecture aligns well with industry standards and best practices for
rapid application development, particularly in educational or
administrative use cases where budget and agility are top priorities.

Key Aspects of the Project Perspective:


Cloud-First and Serverless Mindset: All components—frontend,
backend, database, and security—are handled by AWS services. This
shifts the focus from hardware and server management to application
logic and user experience.
Separation of Concerns: Each AWS service handles a distinct layer
of the application:
 Amazon S3 manages static file hosting.
 API Gateway routes API calls and handles traffic management.
 Lambda executes backend business logic using Python.
 DynamoDB stores and retrieves data in a highly available, low-
latency environment.
 I AM enforces permissions and access control.

 Stateless Design: Functions do not store any state or session


data locally. This promotes fault tolerance and horizontal
scalability.

22
 Event-Driven Execution: Lambda functions are triggered based
on specific HTTP methods received via API Gateway, ensuring
precise and efficient task execution.
 Security and Compliance Focus: IAM roles are configured to
restrict access to only those operations that are necessary for
each component, enhancing the security posture of the
application.
 Cost-Awareness: By utilizing AWS's pay-as-you-go model, the
application minimizes idle costs and avoids the overhead of server
provisioning and underutilization.

This perspective allows the project to serve as both a functional


application and a learning model for students and developers aiming to
build robust applications on cloud platforms without managing servers. It
proves that powerful applications can be created with minimal
infrastructure if designed smartly using serverless technologies.

3.4 Features
The serverless student data management application integrates multiple
AWS services to deliver a secure, scalable, and user-friendly platform.
The following are the key features offered by the system:

1. Static Web Hosting with Amazon S3

The application frontend, including HTML, CSS, and JavaScript files, is


hosted using Amazon S3.
The bucket is configured for static website hosting with public read
access to necessary files.
Users can access the interface through a standard browser without
requiring server-side rendering.

2. Dynamic Data Handling with AWS Lambda

All backend logic is implemented using AWS Lambda in Python.


Lambda functions are designed for specific tasks such as inserting and
retrieving student data.

23
The serverless nature allows for auto-scaling based on demand without
manual provisioning.

3. API Integration via Amazon API Gateway

API Gateway handles HTTP request routing and connects client-side


input to Lambda backend.
Routes are defined for operations like POST (add student) and GET
(view all students).
4. NoSQL Data Storage with Amazon DynamoDB

Student records are stored in a table named student-data.


The schema-less nature allows flexibility in adding new attributes without
modifying the structure.
Fast read and write operations support real-time interactions.

5. User Interaction through Forms

Users can submit student details using the [Link] form.


Data is validated on the client side before submission.
A second interface, [Link], retrieves and displays the list of all
students.

6. Role-Based Access with IAM

Identity and Access Management (IAM) roles are created to control


access to Lambda, DynamoDB, and S3.
Least privilege principle is enforced to enhance security.

7. Lightweight and Modular Design

Each component (frontend, API, logic, and storage) is developed


independently.
The modular approach supports easier debugging, maintenance, and
future enhancements.

8. Real-Time Data Flow

All operations are performed in real-time.


Users receive instant confirmation messages after submitting or
retrieving data.

24
9. Cost-Efficient and Scalable Infrastructure

All services are used on-demand, with no idle cost.


AWS automatically handles scaling of Lambda and DynamoDB based
on traffic.

10. Educational Value

Provides hands-on experience with serverless application development.


Demonstrates practical use of AWS services in a project setting.

These features make the system highly adaptable, secure, and capable
of delivering reliable performance in real-time educational data
scenarios.

3.5 stakeholders
Stakeholders are individuals or entities who have a direct or indirect
interest in the development, functionality, and outcomes of the
application. Identifying stakeholders is critical to ensuring that the project
meets the expectations of all users and contributors.

1. Students

Role: End users who interact with the application to add and view
student records.

Interest: Expect a simple, intuitive, and fast interface that reliably stores
their data.

2. Project Developer

Role: Designer, coder, and integrator of all system components.

Interest: Gain practical knowledge, meet academic objectives, and


implement a functioning serverless system using AWS.

3. Project Supervisor/Trainer

Role: Guides the project through training and evaluation.

Interest: Ensure that the project aligns with educational standards and
learning outcomes.

25
4. AWS Cloud Services

Role: Provide infrastructure components like S3, Lambda, API Gateway,


DynamoDB, and IAM.

Interest: Operate efficiently to support application performance,


availability, and scalability.

5. Educational Institutions

Role: May use the application to manage student data or serve as a


reference model for coursework.

Interest: Seek reliable, scalable, and low-maintenance solutions for data


handling.

6. Administrators (Optional)

Role: May oversee system usage, manage policies, and monitor data
access.

Interest: Require secure and auditable systems with minimal downtime.

Understanding the needs and roles of each stakeholder helps ensure


the application is user-centric, functional, and aligned with the broader
goals of learning and system efficiency.

3.6 Requirement analysis –


Functional requirements, performance requirements,
security requirements etc.

Requirement Analysis

Requirement analysis is a fundamental step in system design. It involves


identifying and documenting the functional, performance, and security
needs of the application. This ensures that the developed solution aligns
with user expectations and system constraints.

26
Functional Requirements

These define what the system should do and the services it must
provide to users:

1. User Data Input:


Users must be able to submit student details through a web form.
Fields include student ID, name, age, email, and course.

2. Data Storage:
The submitted data must be stored in a DynamoDB table named
student-data.

3. Data Retrieval:
The system must provide a view option for users to retrieve and display
all stored records.

4. Form Validation:
Frontend should validate inputs for required fields and valid formats.

5. API Integration:
The application should use API Gateway to route HTTP requests (GET,
POST) to the correct Lambda functions.

6. Lambda Execution:
Lambda functions must process incoming data, interact with DynamoDB,
and return responses.

7. Frontend-Backend Communication:
All communication between frontend and backend must occur via
securely configured HTTP endpoints.

Performance Requirements

These define how well the system must perform under certain
conditions:

1. Low Latency API Responses: Lambda functions should respond


within 200–500 milliseconds under normal conditions.

2. Scalability: The system should scale automatically with an increasing


number of users and requests using AWS’s auto-scaling capabilities.

27
3. Availability: Application services (S3, Lambda, API Gateway,
DynamoDB) should maintain 99.9% uptime based on AWS SLA.

4. Fast Data Access: DynamoDB must deliver query results within


milliseconds, suitable for real-time data retrieval.

5. Minimal Cold Start Time: Optimize Lambda configurations to reduce


cold start delays, especially for infrequently used functions.

Security Requirements

These ensure data integrity, confidentiality, and controlled access to


system components:

1. I AM Role-based Access Control: All Lambda functions must run


under IAM roles with minimum required permissions.

2. S3 Bucket Policy Restrictions: Public access should be granted


only for required frontend files.
Backend files and sensitive data must remain private.

3. API Gateway CORS Configuration: CORS should be enabled to


allow frontend access while blocking unauthorized origins.

4. No Direct Database Access: Users should never interact with


DynamoDB directly. All actions must go through authenticated Lambda
functions.

5. Input Validation and Error Handling: Inputs must be sanitized


before being stored.
Error messages must not expose sensitive system details.

These requirements collectively ensure the application is functional,


responsive, secure, and scalable across different usage scenarios.

28
[Link] Design

Figure 1: System Architecture Diagram


Illustrates the interaction between the user interface (client), AWS S3, API Gateway,
Lambda, DynamoDB, and IAM roles.

The diagram illustrates the serverless architecture used in this project,


showcasing how different AWS services interact to enable a cloud-based
student data management application. The system is composed of five
primary components: User Client, Amazon S3, AWS Lambda, Amazon
DynamoDB, and IAM Roles.

1. User Client
The user client is a web browser or device through which users interact
with the application.
Users perform actions like:
 Submitting new student data
 Viewing stored student information
These interactions are carried out through the static website hosted on
Amazon S3.
2. Amazon S3 (Static Hosting)
Amazon S3 hosts the frontend HTML, CSS, and JavaScript files. It acts
as the public-facing layer of the application.

29
Key responsibilities include:
 Serving the static web pages to users
 Accepting user inputs through forms
 Triggering API calls (via HTTP GET and POST) to API Gateway
This allows users to interact with the backend without the need for a
traditional web server.
3. AWS Lambda (Backend Logic)
AWS Lambda functions contain the business logic of the application,
written in Python. These are event-driven functions that are triggered by
HTTP requests routed through API Gateway. There are typically two
main Lambda functions in this project:
POST function: Accepts new student data and writes it to DynamoDB.
GET function: Retrieves all student records from DynamoDB.
Lambda scales automatically based on the number of incoming requests
and requires no server provisioning or maintenance.
4. Amazon DynamoDB (Database Layer)
DynamoDB is a fully managed NoSQL database used to store the
student data. Each student record is stored as a key-value pair with
fields like: studentID
name
age
email
course
DynamoDB supports fast read/write operations and can automatically
scale to handle large volumes of data.
5. IAM Roles (Security Layer)
IAM (Identity and Access Management) is used to enforce fine-grained
permissions across AWS services. Roles are assigned to Lambda
functions to define what actions they are permitted to perform, such as:
Read/write access to DynamoDB

30
Invocation permission via API Gateway

Figure2: API Gateway


integration with AWS Lambda Figure3: System Architecture of
for GET & POST Requests Serverless Web Applica on using
AWS Services

4.1 Design constraints


Design constraints refer to the limitations and rules that define how a
system should be implemented. These constraints guide developers and
architects in selecting the technologies and approaches used in the
project. In this serverless application, several key design constraints
were observed due to the nature of AWS services and the project
requirements:

1. Serverless Architecture

The entire application must be built using serverless components. No


EC2 instances, containers, or traditional servers are allowed.
Backend processing is restricted to AWS Lambda functions only.

2. Stateless Execution

Lambda functions are stateless and do not retain data between


invocations.
All state or session data must be passed explicitly via parameters or
stored externally (e.g., DynamoDB).

3. Storage Constraints

The application uses Amazon S3 for static file hosting and DynamoDB
for backend data storage.

31
No file system storage is available for Lambda functions beyond
temporary memory (e.g., /tmp directory)

4. Execution Time and Memory Limits

Lambda functions have a maximum execution time of 15 minutes.


Memory is limited to 10 GB per function invocation, requiring efficient
logic design.

5. Schema Flexibility

DynamoDB is schema-less and cannot enforce relational constraints.


Developers must ensure data consistency and validation through
application logic.

6. API Gateway Constraints

All HTTP methods (GET, POST) must be explicitly defined in API


Gateway.
CORS policies must be configured correctly to allow frontend requests.

7. IAM Policy Restrictions

IAM roles must follow the principle of least privilege.


Overly permissive policies are prohibited, and cross-service permissions
must be clearly defined.

8. Security and Access Control

Only specific files in the S3 bucket can be made publicly accessible.


API endpoints must be protected to prevent unauthorized access.

9. Regional Service Availability

All services (S3, Lambda, DynamoDB, API Gateway) must be available


in the same AWS region (e.g., us-east-1).

These constraints help ensure that the application is secure,


maintainable, and scalable within the capabilities provided by AWS
serverless architecture.

32
4.2 E-R Diagram

Figure 1: Entity-Relationship (E-R) Diagram


Depicts the logical structure of student data, showing entities and relationships.

4.3 UML Diagrams

Figure 2: UML Diagram

 Class Diagram

Figure 3: Class Diagram

33
Represents the static structure of classes used in backend logic.

 Object Diagram

Figure 4: Object Diagram


Shows an instance of the class structure.

 Use Case Diagram

Figure 5: Use Case Diagram


Illustrates user interactions with the system (e.g., Add Student, View Students).

 Activity Diagram

Figure 6: Activity Diagram

34
Shows the flow of actions like adding or retrieving student data.

 Component Diagram

Figure 7: Component Diagram


Visualizes how each AWS service is a component of the system.

 Deployment Diagram

Figure 8: Deployment Diagram


Displays how software components are deployed on cloud infrastructure.

35
4.4 Data Model
The data model of this project is based on a NoSQL schema
implemented using Amazon DynamoDB. Since DynamoDB is
schema-less, it allows storing flexible, unstructured, or semi-
structured data using key-value pairs. The system uses a single
table design optimized for scalability and simplicity.
Table Name: student-data
Primary Key (Partition Key):
studentID (String): A unique identifier for each student record.
Attributes:
name (String): Full name of the student.
age (Number): Age of the student.
email (String): Contact email address.
course (String): Enrolled course or department.
Example Record (JSON Format):
{
"studentID": "STU101",
"name": "Amit Sharma",
"age": 21,
"email": "[Link]@[Link]",
"course": "Computer Science"
}
Data Characteristics:
 Schema-less: Attributes can vary by record, supporting flexibility.
 Optimized for speed: DynamoDB ensures millisecond response
times.
 Auto-scalable: Can handle any volume of records with no manual
scaling.
 No relational constraints: Normalization is not required.
This simple and flat data model supports quick data entry and
retrieval while aligning with DynamoDB’s best practices for
serverless architecture.

4.5 User interfaces


The application provides a simple and responsive web-based
interface to allow users to submit and view student data. The entire

36
frontend is hosted using Amazon S3 with public access to the
HTML, CSS, and JavaScript files required for interaction.

1. Add Student Interface


Purpose:
Allows users to enter new student data and submit it to the
backend.

Components:
HTML form with input fields: Student ID, Name, Age, Email, and
Course.
Submit button triggers a POST request to API Gateway.

Technologies Used:
HTML, CSS, JavaScript (AJAX fetch)
API Integration via JavaScript

2. View Students Interface


Purpose:
Displays all existing student records fetched from DynamoDB via
the Lambda function.

Components:
A table layout dynamically populated using JavaScript
Triggered by a GET request through API Gateway

37
Technologies Used:
HTML for layout
JavaScript for data fetching and rendering

3. Hosting Environment (Amazon S3)

Purpose:
Stores and serves all static files of the frontend securely.
Key Actions Taken:

Enabled static website hosting on S3 bucket myschool21.


Configured bucket policies and ACLs for public read access to
HTML/JS files.
Set [Link] as the landing page.

38
5. Implementation details
The final project involves deploying a serverless application using
AWS services including DynamoDB, Lambda functions, API
Gateway, S3, and IAM roles. The implementation focuses on
creating a scalable, secure, and efficient backend for managing
student data with a static frontend hosted on S3.

1. DynamoDB Setup

 Service: DynamoDB is used as the NoSQL database.

 Table Creation: A table named student-data was created


with student-ID as the partition key.

 Capacity Mode: On-demand mode is chosen for flexible


scaling without managing read/write capacity units.

 Advantages: DynamoDB offers a flexible schema allowing


dynamic data structure, high speed, infinite scaling, and built-
in security.

39
2. Lambda Functions

Purpose: Lambda functions handle the backend logic.


Languages: Python is used for Lambda functions.
Functions Created:
 insert_student_data: Handles inserting student records into
DynamoDB.

 get_student_data: Retrieves students data form DynamoDB.

Roles: Each Lambda function is assigned an IAM role granting full


Lambda and DynamoDB access.

40
3. API Gateway Configuration

Role: Acts as the entry point routing HTTP requests to Lambda


functions.

Routing: POST requests are routed to insert_student_data


Lambda function.
GET requests are routed to get_student_data Lambda function.

Deployment: The API Gateway is deployed to production to


enable client applications to interact with the backend.

4. S3 Bucket for Frontend Hosting


Bucket Name: my school
Usage: Hosts static frontend files including HTML, CSS, and JavaScript
for the student data application.
Public Access: Enabled public read access with proper bucket policies
to allow users to load the website.
Bucket Policy: Configured permissions such as GetObject, PutObject,
DeleteObject, and PostObject to control access.
Frontend Features: The interface supports adding new student data
and viewing existing records.

41
5. I AM Roles and Security
I AM roles are used for secure access management:
Lambda functions have permissions to interact with DynamoDB.
S3 bucket policies ensure safe and controlled access to static resources.
API Gateway permissions manage request routing securely.

42
5.1 Software/hardware specifications

o Software Specification

Software Version / Type Purpose

Python 3.8 or higher Backend logic for AWS


Lambda functions

Visual Studio code Latest Code editor used to write


(VS Code) and manage project files

AWS Console Web-based Used to configure and


monitor AWS resources
(S3,
Lambda,DynamoDB,etc.)

Web Browser Chrome / Firefox For accessing and testing


the fronted (hosted on S3)

Postman (optional) Latest For testing API requests


(GET, POST)

AWS CLI (optional) Latest Command-line


deployment and
configuration(advanced
users)

o Hardware Specification

Hardware Minimum Recommended


Component Requirement

Processor Intel i3 / AMD Ryzen 3 Intel i5 or above

4GB 8 GB or more
RAM
Storage 2 GB free disk space SSD with 10+ GB free

Windows 10 /11, Linux, Any modern OS


Operating System
Or macOS

Internet Required Broadband


Connection recommended for stable
AWS access

43
6. Input and Output Screens
1. Input Screen – Add Student Form

Purpose: Shows the form where users enter student details.

2. Output Screen – View Students Page

Purpose: Shows the list of students retrieved from DynamoDB.

44
[Link]
This section outlines the types of reports generated by the
application and how data retrieved from DynamoDB is presented to end
users through the web interface. Since the project uses dynamic data
fetching and rendering via JavaScript, report generation is mostly real-
time and presented on the frontend.

7.1 Student Data Report (Dynamic Table View)


Upon clicking the "View Students" button on the [Link]
page, a GET request is sent to the API Gateway. The response from the
backend Lambda function (which scans the DynamoDB table) includes
student records in JSON format. These records are then rendered
dynamically in a tabular report.
Example Table Output:

Student Id Name Email Course Year


101 arrav@[Link] Computer Science 2025
102 sneha@[Link] IT Engineering 2024
103 ravi@[Link] Electronics 2025

7.2 Exporting or Printing Reports (Optional


Enhancements)
While not implemented in the current version, additional enhancements
could include:
Export to PDF using JavaScript libraries like jsPDF
Export to Excel (CSV) using SheetJS or plain text manipulation
Printable Views with dedicated CSS stylesheets
These can be useful in academic institutions for generating
attendance logs, student records, or academic performance sheets from
the system.

45
7.3 Admin Insights (Optional Scope)
If extended in the future, the application could include admin-only
dashboards showing:
Total number of students
Year-wise distribution
Course-wise categorization
Most recent entries (using the timestamp field)

These insights could be extracted by writing Lambda functions that


filter or aggregate DynamoDB data and return customized reports.

7.4 Security and Access Logging

Although reports focus on user-visible data, AWS also


provides backend reports such as:

CloudWatch Logs: Automatically logs Lambda function execution


results, errors, and metrics.

IAM Access Logs: Tracks who accessed what resources and


when.
API Gateway Logs: Monitors request and response metadata
including IP, path, and status code.

46
8. Testing
Testing plays a critical role in verifying the functionality, security,
and performance of the serverless application. This section outlines the
testing strategy, including the test plan, test cases, and results for both
black-box and white-box testing methods.

8.1 Test Plan

 Features to Be Tested

Feature Description

Add Student Form submission and data


insertion via POST API

View Student Fetching and displaying data


via GET API

S3 Static Hosting Accessibility of Frontend files

Lambda Logic Backend code for add/ view


functionality

API Gateway Correct routing of HTTP


requests

DynamoDB Data storage, retrieval, and


consistency

IAM Roles Secure, restricted access


enforcement

47
 Test Environment
Component Description

Frontend HTML, CSS, JS hosted on Amazon S3

Backend Python Lambda function on AWS

Database Amazon DynamoDB table


(student-data)

API API Gateway routes for


POST and GET

Access Control IAM policies assigned to Lambda roles

8.2 Black Box Testing (Data Validation)

Test Case ID Test Description Input Expected Output

TC01 Submit valid student All fields filled Success message


data

TC02 Submit with missing Missing ‘name’ Error or validation


name field alert

TC03 View student data Click ‘View Display list of students


Students’

TC04 Invalid email format student@com Input rejected or alert

TC05 API response test GET /view- JSON array of records


students

48
8.3 White Box Testing (Lambda Logic)

Component Internal Logic Tested

Insert_student.py JSON parsing, DynamoDB put_item,


return status code

get_student.py Table scan, data formatting, response

Error Handling Missing keys, invalid JSON body

Security IAM permissions enforced correctly

Logging Events and outputs logged to CloudWatch

8.4 Functional Validation

The entire application was tested in the browser through actual


user actions:
Adding data via the form triggers a POST Lambda call.
Viewing data sends a GET request and renders the result.
All actions logged in CloudWatch, ensuring observability and
traceability.

49
[Link] and Recommendations
9.1 Conclusion
This project successfully demonstrates the design, implementation, and
deployment of a serverless web application using Amazon Web Services
(AWS). By integrating core AWS components such as S3, Lambda, API
Gateway, DynamoDB, and IAM, the system provides a secure, scalable,
and cost-efficient platform for student data management.

Key accomplishments include:

Hosting a fully functional static frontend on Amazon S3

Developing backend Lambda functions in Python for data handling

Routing requests securely and efficiently using API Gateway

Storing and retrieving student data with DynamoDB

Implementing IAM policies for controlled and secure access

Conducting comprehensive testing to ensure functional correctness

This serverless solution eliminates the need for manual server


management, reduces infrastructure costs, and improves scalability. The
real-time, event-driven architecture is well-suited to dynamic use cases
like academic record management, making the system both practical
and extensible.

Through this project, learners gained hands-on experience with modern


cloud computing paradigms, AWS tools, and software engineering best
practices in a real-world context.

50
9.2 Recommendations
While the system is functional and efficient, several improvements
and enhancements could be considered for future iterations:

1. Form Validation Enhancements:


Add client-side and server-side validation for improved data accuracy.

2. Advanced Security:
Use Cognito for user authentication and implement SSL certificates via
AWS Certificate Manager.

3. UI/UX Improvements:
Redesign the frontend with responsive design, CSS frameworks like
Bootstrap or TailwindCSS, and animations for better user experience.

4. Logging and Monitoring:


Expand the use of CloudWatch Metrics and Alarms for error tracking and
performance monitoring.

5. Role-Based Access Control (RBAC):


Add admin and student roles to control data access and operations.

6. Data Export Features:


Implement options to export student data as PDF, Excel, or CSV.

7. API Optimization:
Introduce pagination and filtering in GET requests to manage large
datasets efficiently.

8. Frontend Framework Integration:


Use [Link] or [Link] for a more dynamic and scalable frontend
architecture.

These recommendations align with current trends in cloud-based


application development and could further enhance the system's
usability, security, and performance.

51
10. Future Scope
The implementation of this AWS-based serverless application opens up
several promising avenues for future development, both in terms of
functionality and technology integration. As the demand for scalable and
low-maintenance applications grows, the serverless model is expected
to dominate numerous domains beyond academic data management.

10.1 Functional Expansion


Role-Based Access and Authentication
Future versions can incorporate AWS Cognito to manage user identities,
providing authentication and authorization for both students and
administrators.

Edit and Delete Operations


Currently, the system supports inserting and retrieving student data.
Adding update and delete features would make it a complete CRUD
application.

Search and Filter Functionality


Enable searching by student ID, name, or course for easier data
retrieval, especially as the dataset grows.

Notifications and Alerts


Integration with Amazon SNS or SES can help send email or SMS
notifications to users upon successful data submission or modification.

10.2 Technical Enhancements


Serverless Framework or AWS SAM
Use Infrastructure as Code (IaC) tools to automate deployments,
manage resources, and version control the entire system configuration.

Real-Time Features
Incorporate WebSocket APIs via API Gateway to enable real-time data
updates and notifications.

Analytics and Dashboards

52
Utilize Amazon QuickSight or third-party tools to build dashboards
showing statistics like student distribution by course, year, etc.

Data Backup and Restore


Integrate periodic backups of the DynamoDB table using AWS Backup,
ensuring data durability and recovery options.

10.3 Educational Applications


Multi-Department Usage
Expand the scope to include multiple departments or faculties, each
managing its own student records through a unified system.

Integration with Learning Management Systems (LMS)


Link with existing LMS platforms like Moodle or Blackboard to sync
student profiles and academic data.

Mobile App Development


Develop a mobile interface using Flutter or React Native that interacts
with the same backend for broader accessibility.

10.4 Research and Innovation Opportunities


AI-Driven Features
Implement basic AI services from AWS (e.g., Comprehend, Lex,
Rekognition) to auto-analyze student input, enable chatbots, or enhance
accessibility.

Multilingual Support
Provide language options (e.g., English, Marathi, Hindi) to improve
usability in regional institutions.

IoT Integration
For institutions using smart ID cards or biometric attendance, the system
can be extended to log and report such data automatically.
The project, though simple in its current version, is a robust foundation
for a much larger, intelligent, and connected education platform. By
leveraging the full suite of AWS tools, future versions can become
powerful tools for academic institutions aiming for digital transformation.

53
11. Bibliography and References
This section includes references to the tools, services, academic
sources, and documentation consulted during the design and
development of this project.

Academic References

1. Baldini, I., Castro, P., Chang, K., Cheng, P., Fink, S., Ishakian, V., ... &
Suter, P. (2017). Serverless Computing: Current Trends and Open
Problems. arXiv preprint arXiv:1706.03178.

2. Jonas, E., Schleier-Smith, J., Sreekanti, V., Tsai, C.-C., Khandelwal,


A., Pu, Q., ... & Stoica, I. (2019). Cloud Programming Simplified: A
Berkeley View on Serverless Computing. University of California,
Berkeley.

AWS Official Documentation

 Amazon Web Services. (2024). Getting Started with AWS


Lambda. Retrieved from:
[Link]
[Link]

 Amazon Web Services. (2024). Amazon S3 Static Website


Hosting. Retrieved from:
[Link]
[Link]

 Amazon Web Services. (2024). Using Amazon API Gateway.


Retrieved from:
[Link]
[Link]

 Amazon Web Services. (2024). Amazon DynamoDB Developer


Guide. Retrieved from:

54
[Link]
guide/[Link]

 Amazon Web Services. (2024). AWS IAM Documentation.


Retrieved from:
[Link]
tml

Tools and Platforms

 8. Visual Studio Code – Code editor for Lambda functions.


[Link]

 9. Postman – API testing tool.[Link]

 10. GitHub – Version control and project management.


[Link]

55

You might also like