0% found this document useful (0 votes)
4 views25 pages

CLOUDCOMPUTINGDOC

The document is a project-based learning report on a Cloud-Based Notes Storage App developed by students for their Bachelor of Technology degree in Computer Science and Engineering (AI&ML). It outlines the project's objectives, methodology, system architecture, and implementation details, emphasizing the app's secure and user-friendly platform for managing digital notes with real-time synchronization across devices. The report also includes diagrams and code snippets to illustrate the system's design and functionality.

Uploaded by

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

CLOUDCOMPUTINGDOC

The document is a project-based learning report on a Cloud-Based Notes Storage App developed by students for their Bachelor of Technology degree in Computer Science and Engineering (AI&ML). It outlines the project's objectives, methodology, system architecture, and implementation details, emphasizing the app's secure and user-friendly platform for managing digital notes with real-time synchronization across devices. The report also includes diagrams and code snippets to illustrate the system's design and functionality.

Uploaded by

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

A

PROJECT BASED LEARNING REPORT


On

Cloud Based Notes Storage App


Submitted in partial fulfillment of the Requirements for the Award of the Degree of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING (AI&ML)

BY
M. NIKITHA (22N81A66D8)
K. VIBHAV (22N81A66J6)
M. NARESH (22N81A66F8)
N. VIJAY KUMAR (22N81A66H5)

Under the Guidance of


MD . Faisal
Asst. Professor
Department of CSE (AI&ML)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING (AI&ML)

SPHOORTHY ENGINEERING COLLEGE


{NAAC Accredited, Recognised by UGC, u/s 2(f) & 12(B)}
(Permanently Affiliated to JNTUH, Approved by AICTE, New Delhi, ISO 9001:2015 Certified)}
Nadergul (Vill.), Near L.B. Nagar, Hyderabad, Telangana – 501510.
2022-2026

1
SPHOORTHY ENGINEERING COLLEGE
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING (AI&ML)

CERTIFICATE
This is to certify that this Project Based Learning Report entitled Cloud Based Notes
Storage App is a bonafide work carried out by M. NIKITHA (22N81A66D8) , K.
VIBHAV (22N81A66J6) , M. NARESH (22N81A66F8) and N. VIJAY
KUMAR (22N81A66H5) in partial fulfilment of the requirements for the award of
degree of Bachelor of Technology in Computer Science and Engineering (AI&ML) from
Sphoorthy Engineering College, affiliated to Jawaharlal Nehru Technological University
Hyderabad, during the Academic Year 2025-26 under our guidance and supervision.
The results embodied in this report have not been submitted to any other university or
institute for the award of any degree or diploma.

Internal Guide Head of the Department


[Link]
Assistant Professor
Department of CSE (AI&ML)
Sphoorthy Engineering College.

2
ABSTRACT

The Cloud-Based Notes Storage App is designed to provide users with a secure, reliable, and
easily accessible platform for creating, storing, and managing digital notes. Traditional note-
keeping methods often lead to data loss, limited accessibility, and poor organization. This
application leverages cloud technologies to ensure that notes are synchronized across multiple
devices in real time, enabling seamless access anytime and anywhere.
The system integrates user authentication, encrypted cloud storage, and an intuitive user
interface to offer a smooth note-taking experience. Users can create, edit, categorize, and search
notes efficiently. The backend utilizes scalable cloud services to ensure high availability and
data safety, while the frontend provides a simple, user-friendly environment suitable for
students, professionals, and general users.
Overall, the project aims to deliver a dependable note-management solution that enhances
productivity, supports cross-platform accessibility, and ensures long-term data security.

M. NIKITHA (22N81A66D8)

K. VIBHAV (22N81A66J6)

M. NARESH (22N81A66F8)

N. VIJAY KUMAR (22N81A66H5)

3
INDEX
S. No. Section Title Page No.

1 Introduction 6

2 Problem Statement 7

3 Objectives 8

4 Methodology 9

5 System architecture 13

6 Implementation 15

7 Outputs/Results 18

8 Conclusion and Future Scope 20

9 References 22

4
LIST OF FIGURES

Figure
Figure Name Page No.
No.

5 System Architecture 12

5.1 ER Diagram 13

5.2 Use case diagram 13

5.3 Data Flow diagram 14

5.4 Sequence diagram 14

5
1. Introduction:
In today’s fast-paced digital environment, the way individuals capture, store,
and manage information has undergone significant transformation. Notes, ideas,
reminders, and important information are no longer confined to physical
notebooks or single-device storage. However, despite the availability of digital
tools, many existing systems still face challenges such as limited accessibility,
storage constraints, poor synchronization, and vulnerability to data loss. These
limitations highlight the need for a more reliable and universally accessible
notes management solution.
Cloud computing has emerged as a powerful technology that enables on-
demand access to shared resources—including data storage and computing
power—without requiring local infrastructure. By leveraging cloud services,
users can store and retrieve data remotely, ensuring high availability, scalability,
and security. With an increasing number of tasks becoming digital, cloud-based
applications play a crucial role in improving convenience and productivity.

The Cloud-Based Notes Storage App is designed to address these challenges


by offering an efficient, user-friendly, and secure platform for storing and
managing notes online. This application allows users to create, edit, categorize,
and update notes, while ensuring that all data is automatically synced across
multiple devices through cloud integration. Such real-time accessibility enables
users to continue their work from any location, fostering seamless workflow and
collaboration.

Furthermore, the system incorporates secure authentication protocols, encrypted


storage mechanisms, and an intuitive interface to ensure that users’ data remains
protected while maintaining ease of use. The app is suitable for students
tracking class notes, professionals managing tasks and ideas, and individuals
maintaining personal information.

As technology continues to advance, cloud-based applications like this one


demonstrate the potential for improving everyday activities. The development
of this notes storage app not only highlights the importance of cloud computing.

6
2. Problem Statement:
Traditional methods of storing notes—whether handwritten, saved locally on
devices, or managed through basic digital tools—often lead to issues such as
data loss, limited accessibility, poor organization, and insufficient security.

Users frequently struggle with retrieving notes across different devices,


managing multiple versions, and safeguarding their information from accidental
deletion or device failures.

Existing note-taking applications may also lack real-time synchronization,


scalable storage, or robust security features, resulting in reduced efficiency and
reliability.

There is a need for a centralized, cloud-based system that allows users to


securely create, store, organize, and access their notes from any device at any
time.

The system should ensure seamless synchronization, strong authentication,


encrypted data storage, and a user-friendly interface that enhances productivity
and overcomes the limitations of traditional and local note-storage methods.

7
3. Objectives:
1. To develop a cloud-based application that enables users to create, store,
edit, and manage notes securely from any device.
2. To ensure real-time synchronization of notes across multiple platforms
using cloud integration, allowing seamless accessibility.
3. To implement secure authentication mechanisms to protect user data and
prevent unauthorized access.
4. To provide encrypted and scalable cloud storage for safe, long-term data
preservation.
5. To offer an intuitive and user-friendly interface that enhances productivity
and simplifies note-taking activities for users of all backgrounds.
6. To support efficient note organization through features such as
categorization, search functionality, and easy retrieval.
7. To ensure high availability and reliability of stored notes by leveraging
robust cloud infrastructure.
8. To design the system with future extensibility, enabling additional features
such as reminders, multimedia notes, or collaborative editing.

8
4. Methodology:

The development of the Cloud-Based Notes Storage App follows a structured


and systematic methodology to ensure accuracy, efficiency, and reliability. The
methodology consists of several phases, each contributing to building a fully
functional and user-friendly cloud-based application.

1. Requirement Analysis

 Identify the needs of users such as note creation, editing, secure storage,
and multi-device access.

 Analyze limitations in existing note-taking solutions.

 Define functional and non-functional requirements for the system.

 Select suitable technologies (e.g., Firebase, AWS, Google Cloud, or


custom backend with cloud database).

2. System Design

 Design the architecture of the application, including client-side interfaces,


backend workflows, and cloud integration.

 Prepare UML diagrams (use case, class, sequence, activity diagrams) to


visualize system behavior.

 Plan database schema for storing user accounts and notes securely.

 Choose appropriate security mechanisms (password hashing, cloud


authentication, encryption).

3. UI/UX Design

 Create wireframes for the user interface focusing on simplicity and ease
of use.

9
4. Backend Development

 Develop APIs for user authentication, note creation, editing, deletion, and
retrieval.

 Implement secure user login and registration using cloud identity


services.

 Integrate encrypted cloud storage for storing note data.

 Ensure scalability and performance optimization in backend processing.

5. Frontend Development

 Implement the user interface based on finalized UI designs.

 Connect the frontend with backend APIs for real-time note


synchronization.

 Add features such as note editing, searching, listing, and categorizing.

 Ensure smooth navigation and user experience.

6. Cloud Integration

 Connect the application to cloud services like Firebase Firestore, AWS


S3, DynamoDB, or Google Cloud.

 Configure real-time syncing so that updates reflect instantly across


devices.

 Set up cloud storage rules and security policies to protect user data.

 Enable auto-backup and high availability.

7. Testing

 Perform unit testing on individual modules (login, note editor, etc.).

 Conduct integration testing to ensure all components work together


properly.
10
 Perform security testing to ensure protection against unauthorized access.

8. Deployment

 Deploy the backend on a cloud server (e.g., AWS EC2, Firebase Hosting,
Netlify).

 Publish the frontend/web app for user access.

 Set up monitoring tools to check performance and server health.

9. Evaluation & Feedback

 Gather feedback from test users.

 Identify bugs, performance issues, or missing features.

 Improve UI/UX based on user experience.

10. Documentation

 Document the system architecture, database design, API endpoints, and


user manual.

 Prepare project report and final presentation.

11
5. System Architecture:

A cloud-based notes storage application allows users to create, read, update, and
delete notes from any device, while storing data securely in the cloud. The
system is designed to be scalable, secure, and highly available. Its architecture
can be divided into multiple layers:

This is how the app is structured technically. For a cloud-based


notes app, a typical architecture could be 3-tier or cloud-
native.
Components:
 Frontend (Client): Mobile app or Web app
o Handles user interface
o Sends API requests to backend
 Backend (Application Server): RESTful API or GraphQL
o Processes requests
o Handles authentication, notes CRUD operations
o Syncs with cloud storage
 Cloud Storage / Database:
o Stores notes securely
o Provides scalability

12
Figure.1 SYSTEM ARCHITECTURE

1. Use Case Diagram

A Use Case Diagram represents the interactions between users (actors) and
the system. It shows what the system does (functionalities) but not how it does
it.
Actors for Cloud-Based Notes Storage App:
 User: The person who creates, edits, or deletes notes.
 Admin (optional): Manages users, monitors storage usage.
 Cloud Service: Handles storing and retrieving notes.

13
Figure.2 USE CASE

[Link] Flow Diagram (DFD)


A DFD shows how data moves through the system. It focuses
on processes, data stores, and external entities.
Level 0 (Context Diagram)

Entities:
 User
 Cloud Storage System
Level 1 (Detailed DFD)
1. User Authentication
o Input: Login credentials → Process: Validate → Output:
Access token or error
2. Note Operations
o Input: Note data → Process: Create/Edit/Delete →
Output: Confirmation
3. Sync to Cloud

14
o Input: Local notes → Process: Sync → Data Store:
Cloud Database → Output: Notes available across
devices

Figure.3 DATA FLOW

[Link] Diagram
A Sequence Diagram shows the time-based flow of
interactions between actors and the system for a particular use
case.
Actors & Components:
 User
 Frontend App
 Backend Server
 Cloud Database
Steps:

15
1. User types a note and hits "Save".
2. Frontend sends a POST request to backend API.
3. Backend authenticates user.
4. Backend validates note content.
5. Backend saves note to database/cloud storage.
6. Backend returns success response.
7. Frontend displays "Note Saved Successfully".

Figure.4 SEQUENCE DIAGRAM

[Link]:
Frontend (Client Side):
 Mobile App: Flutter, React Native, or Swift/Kotlin
(iOS/Android native)
 Web App (optional): [Link], Angular, or [Link]
 UI Components: Material UI, Bootstrap, or custom design
Backend (Server Side):
 Language/Framework: [Link] + Express, Django (Python),
Spring Boot (Java), or .NET Core

16
 Authentication: JWT (JSON Web Tokens) or OAuth2
 API Design: RESTful API or GraphQL
Database / Storage:
 Cloud Database: Firebase Firestore, AWS DynamoDB,
MongoDB Atlas
 File Storage (optional for attachments): AWS S3, Google
Cloud Storage, Azure Blob Storage
Other Services:
 Push Notifications: Firebase Cloud Messaging (FCM)
 Analytics: Google Analytics, Firebase Analytics
 Backup / Sync: Cloud-based backups, offline sync support
 Core Features to Implement
1. User Authentication & Authorization
o Sign up, login, logout
o Password reset
o JWT token-based authentication
2. Note Management
o Create, Read, Update, Delete (CRUD) notes
o Optionally categorize notes (folders or tags)

3. Cloud Sync
o Save notes to cloud database
o Sync notes across multiple devices
o Handle offline mode (store locally and sync when
online)
4. Search & Filters
o Search by title or content
o Filter by date, tags, or folders
5. Sharing & Collaboration (Optional)
17
o Share notes with other users
o Collaborative editing
6. Security
o Encrypted storage for sensitive notes
o HTTPS for all communications
o Role-based access if multiple users

Code:
1. [Link]:

plugins {

id("[Link]")

id("[Link]-services")

android {

namespace = "[Link].notes_app"

compileSdk = 34

defaultConfig {

applicationId = "[Link].notes_app"

minSdk = 24

targetSdk = 34

versionCode = 1

versionName = "1.0"

testInstrumentationRunner = "[Link]"

buildFeatures{

viewBinding = true

buildTypes {

release {

isMinifyEnabled = false

proguardFiles(

getDefaultProguardFile("[Link]"),

"[Link]"

)
18
}

compileOptions {

sourceCompatibility = JavaVersion.VERSION_1_8

targetCompatibility = JavaVersion.VERSION_1_8

dependencies {

implementation("[Link]:appcompat:1.6.1")

implementation("[Link]:material:1.11.0")

implementation("[Link]:constraintlayout:2.1.4")

implementation("[Link]:firebase-auth:22.3.1")

implementation("[Link]:firebase-firestore:24.10.2")

testImplementation("junit:junit:4.13.2")

androidTestImplementation("[Link]:junit:1.1.5")

androidTestImplementation("[Link]:espresso-core:3.5.1")

// dynamic Size

implementation ("[Link]:DynamicSizes:1.0")

// lottie animation

implementation ("[Link]:lottie:6.3.0")

// progress bar

implementation ("[Link]:Android-SpinKit:1.4.0")

// FirebaseUI for Cloud Firestore

implementation ("[Link]:firebase-ui-firestore:8.0.2")}

2. [Link]:

buildscript {

dependencies {

classpath("[Link]:google-services:4.4.1")

// Top-level build file where you can add configuration options common to all sub-
projects/modules.

plugins {

id("[Link]") version "8.2.2" apply false


19
}

3. [Link]:

pluginManagement {

repositories {

google()

mavenCentral()

gradlePluginPortal()

}}

dependencyResolutionManagement {

[Link](RepositoriesMode.FAIL_ON_PROJECT_REPOS)

repositories {

google()

mavenCentral()

maven ( url = "[Link]

}}

[Link] = "Notes_app"

include(":app")

4. [Link]:

<?xml version="1.0" encoding="UTF-8"?>

<project version="4">

<component name="deploymentTargetDropDown">

<value>

<entry key="app">

<State />

</entry>

</value>

</component>

</project>

5. [Link]:

<?xml version="1.0" encoding="UTF-8"?>

20
<project version="4">

<component name="GradleMigrationSettings" migrationVersion="1" />

<component name="GradleSettings">

<option name="linkedExternalProjectsSettings">

<GradleProjectSettings>

<option name="externalProjectPath" value="$PROJECT_DIR$" />

<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />

<option name="modules">

<set>

<option value="$PROJECT_DIR$" />

<option value="$PROJECT_DIR$/app" />

</set>

</option>

<option name="resolveExternalAnnotations" value="false" />

</GradleProjectSettings>

</option>

</component>

</project>

[Link]:
Below are the main outputs your application produces, written
exactly in project-report style.

21
22
[Link]:

23
The Cloud-Based Notes Storage App provides a seamless and
efficient platform for users to create, store, and access their
notes across multiple devices. By leveraging cloud storage, it
ensures data availability, scalability, and security, while offering
features like note creation, editing, deletion, search, and
synchronization.
Key takeaways:
 Users can access notes anywhere and anytime due to
cloud-based synchronization.
 Offline support ensures uninterrupted usage even without
internet connectivity.
 Secure authentication and optional encryption protect
user data.
 The app’s modular architecture (frontend, backend, cloud
storage) allows for easy maintenance and scalability.
Overall, the system improves productivity, organizes personal
or professional notes efficiently, and offers a foundation for
advanced features in the future.

Future Enhancements:
1. Real-Time Collaboration
o Enable multiple users to edit the same note
simultaneously, similar to Google Docs.
2. AI-Powered Features
o Auto-summarization of long notes.
o Smart categorization or tagging using AI/NLP.
3. Advanced Search
o Full-text search across all notes.
o Search by attachments or images using OCR (Optical
Character Recognition).

[Link]:
24
1. Amazon Web Services. (2024). AWS Cloud Documentation.
Retrieved from [Link]
2. Google Cloud. (2024). Firebase Realtime Database
Documentation. Retrieved from
[Link]
3. Mell, P., & Grance, T. (2011). The NIST definition of cloud
computing (NIST Special Publication 800-145). National
Institute of Standards and Technology.
4. Armbrust, M., Fox, A., Griffith, R., Joseph, A. D., Katz, R.,
Konwinski, A., & Zaharia, M. (2010). A view of cloud
computing. Communications of the ACM, 53(4), 50–58.
5. Buyya, R., Vecchiola, C., & Selvi, S. T. (2013). Mastering
Cloud Computing: Foundations and Applications
Programming. Elsevier.
6. Google Cloud. (2024). Cloud Firestore Documentation.
Retrieved from [Link]
7. Dinh, H. T., Lee, C., Niyato, D., & Wang, P. (2013). A survey
of mobile cloud computing: Architecture, applications, and
approaches. Wireless Communications and Mobile
Computing, 13(18), 1587–1611.
8. GitHub Inc. (2024). GitHub Repository Hosting and Version
Control. Retrieved from [Link]

25

You might also like