0% found this document useful (0 votes)
11 views2 pages

Java Full Stack File Sharing App

This document outlines the development of a secure File Sharing Web Application using a Java Full Stack approach, integrating modern technologies like Spring Boot and ReactJS. The application allows users to upload, store, and share files securely via cloud services, employing OAuth2.0 for authentication and AWS for data management. It emphasizes security, scalability, and user-friendliness, providing a robust alternative to traditional file-sharing methods.
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)
11 views2 pages

Java Full Stack File Sharing App

This document outlines the development of a secure File Sharing Web Application using a Java Full Stack approach, integrating modern technologies like Spring Boot and ReactJS. The application allows users to upload, store, and share files securely via cloud services, employing OAuth2.0 for authentication and AWS for data management. It emphasizes security, scalability, and user-friendliness, providing a robust alternative to traditional file-sharing methods.
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

Abstract

In the modern digital landscape, the demand for efficient and secure file sharing
mechanisms has become increasingly vital across all domains—education, enterprise
collaboration, research, and cloud computing. Traditional methods like email attachments
or local storage devices lack scalability, security, and ease of access. To address these
limitations, this project proposes a File Sharing Web Application, designed using a Java Full
Stack approach, that enables users to securely upload, store, and share files using cloud
services, with modern authentication and a responsive user interface.
This full-stack web application is built using Java 17 with Spring Boot on the backend and
ReactJS on the frontend. The backend leverages various Spring components including
spring-boot-starter-mail, spring-security, spring-webflux, and springdoc-openapi for API
documentation. For authentication, the project integrates OAuth2.0 for Google Login and
JWT (JSON Web Tokens) for secure session handling. Data persistence is managed using
AWS DynamoDB, a NoSQL database service provided by Amazon Web Services, ensuring
high availability and scalability. Files are stored securely in AWS S3, and the deployment is
managed using Elastic Beanstalk and Route 53, AWS’s scalable DNS web service.

The frontend is developed using ReactJS, styled with Material UI (@mui/material,


@mui/icons-material), and enhanced with libraries like react-cookie for session handling
and @react-oauth/google for OAuth2.0 integration. The UI provides functionalities like user
registration, login, file upload, download, deletion, and sharing through unique, secured file
links. It is designed to be responsive, lightweight, and user-friendly.
The design flow of the application follows a modular architecture. On accessing the web
app, users can register or log in using their Google account. Upon authentication, they are
directed to a dashboard where they can perform file operations. When a file is uploaded, it
is stored in S3, and a unique shareable link is generated. The link includes an embedded JWT
token to ensure that only intended recipients can access the file. Background scheduled jobs
(using Cron expressions) are configured to send email notifications or auto-clean expired
files from S3, enhancing automation and maintenance.
Security is a primary concern in any file-sharing system. This application mitigates common
security vulnerabilities through encrypted JWT tokens, OAuth2.0-based authentication, AWS
IAM roles for restricted access, and no open directory listings. Furthermore, the integration
of Docker and GitHub Actions CI/CD pipelines allows seamless deployment, monitoring, and
updates.
The conclusion of this project results in a fully functional, production-ready, secure, and
cloud-integrated file-sharing platform. Users can share documents efficiently without
relying on external services like Google Drive or Dropbox, maintaining control over access
and data privacy. The application is scalable and extensible, allowing future enhancements
such as real-time collaboration, file preview support, analytics dashboard, or integration
with enterprise tools like Slack or Microsoft Teams.
In summary, this Java Full Stack File Sharing App demonstrates the use of modern web
technologies, secure cloud storage, and scalable architecture to deliver a reliable and user-
friendly file-sharing solution. It also serves as an educational and practical model for
understanding full-stack development, AWS integration, and secure authentication flows in
real-world web applications.

You might also like