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

L. D.

COLLEGE OF ENGINEERING
(Affiliated to Gujarat Technological University)
Navrangpura, Ahmedabad-380015

A Mini Project Report

On

“Filedrop”

B.E. III, SEMESTER – VI


(COMPUTER ENGINEERING)

Submitted by
1. DIGVIJAY SINH CHAUHAN 200280107139
2. YASH AHIR 200280107513

Department of Computer Engineering


L. D. College of Engineering
Ahmedabad-380015

May-2023
L. D. College of Engineering

Department of Computer Engineering


2022-2023

CERTIFICATE

Date:

This is to certify that the mini project entitled “Filedrop” has been carried out by
Digvijay Sinh Chauhan 200280107139, Yash Ahir 200280107513 and under
my guidance in partial fulfillment of the course Advance Java Programming in
6th Semester of Bachelor of Computer Engineering during the academic year
2022-23.

Name of Faculty

Designation
Department of Computer Engineering
L. D. College of Engineering
CANDIDATE’S DECLARATION

We have finished our mini project report entitled “Filedrop” and submitted to our respective
guide. We are in 6th semester and we have tried to give our best. We have done our work
honestly and in a good way.

First Candidate’s
Name : Digvijay Sinh Chauhan
Branch : Computer
Enrollment No. : 200280107139
Signature

Second Candidate’s
Name :Yash Ahir
Branch : Computer
Enrollment No. : 200280107513
Signature

Submitted to:
L. D. College of Engineering,
Ahmedabad.

Affiliated to: Gujarat Technological University


INDEX

Sr No Title Page No
Acknowledgement
Abstract
1 Introduction
1.1 Introduction to System
1.2 Limitation of Existing System
1.3 Objective of the new system
1.4 Problem Definition
2 Proposed Systems
2.1 Tools and Technology used
2.2 Users and Roles
2.3 Functionality/Modules
3 Database Design Details
4 Project Result and Discussion
5 Future Enhancement
6 Conclusion
References
Acknowledgement:

We would like to express our sincere gratitude to all those who have
contributed to the successful completion of the FileDrop project. Their
support, guidance, and encouragement have been invaluable throughout
this journey.

First and foremost, we extend our heartfelt thanks to our project


supervisor, Prof. Kalpesh Patel , for their guidance, expertise, and
constant support. Their valuable insights and constructive feedback have
greatly contributed to the development and refinement of the FileDrop
system.

Thank you all for your invaluable support, and we are truly grateful for
the opportunity to work on this project and for the knowledge and
experience gained throughout the process.

Yash Ahir
Digvijay Sinh Chauhan

L.D COLLEGE OF ENGINEERING

Date:
Abstract:
The "FileDrop" project is a web application built using Java Spring
Framework, JSP files, and a MySQL database. Its primary objective is to
provide a secure and convenient platform for users to send and receive
files. The home page features two main buttons: "Send" and "Receive."

Clicking the "Send" button directs the user to the send.jsp page. Here,
users can upload files of their choice. Each file is assigned a unique
seven-character code, which is stored in the database along with the
corresponding file path. This code serves as an identifier for the
uploaded files.

On the other end, if another user wants to receive files, they can click the
"Receive" button on the home page. This action leads them to a page
with a text field where they can enter the code associated with the
desired files. Upon entering the code and submitting the form, the
system retrieves all the file paths linked to that code from the database.

Using the retrieved file paths, the files are then downloaded to the user's
device. This mechanism ensures that only authorized users with the
correct code can access and download the corresponding files.

The "FileDrop" project offers a user-friendly interface for seamless file


sharing. By employing Java Spring for effortlessly managing web
endpoints, and JSP files, it leverages the power of server-side processing
to manage file uploads, downloads, and database interactions efficiently.
The use of a MySQL database ensures secure storage and retrieval of
files, enhancing the overall reliability and security of the system.

Overall, the "FileDrop" project provides a practical solution for file


sharing, making it an ideal choice for college projects focused on web
application development.
1. Introduction:
1.1 Introduction to System
FileDrop is a secure web-based application for file sharing
among authorized users. It allows users to upload files and
assign a unique identifier code stored in a MySQL database.
The system enables downloading files by entering the code
associated with the desired files, ensuring secure storage and
easy retrieval. FileDrop offers a reliable and user-friendly
platform for file sharing, making it ideal for individuals and
groups who need to share files on a regular basis.

1.2 Limitations of existing system


Lack of User Authentication: The existing system lacks user
authentication, allowing unauthorized individuals to access
files by simply having the file's link. This poses a significant
security risk as sensitive files may be accessed by unintended
users.

Absence of File Tracking and Management: The current


system does not have a mechanism to track or manage
uploaded files. This leads to disorganization and difficulty in
locating specific files, especially when dealing with a large
number of uploads.

Inefficient User Interface: The user interface of the existing


system is not user-friendly, making the process of uploading
and downloading files cumbersome and time-consuming.
Users may struggle to navigate through the system and
encounter difficulties in performing basic file sharing tasks.

To address these limitations, the development of FileDrop


offers a solution that includes user authentication, file
tracking and management, an intuitive user interface.
1.3 Objective of the new system
The objective of the proposed FileDrop system is to
overcome the limitations of the existing file sharing system
and provide an enhanced platform for secure and efficient file
sharing. The new system aims to achieve the following goals:

User Authentication: Implement a robust user authentication


mechanism to ensure that only authorized users can access
and download files, thereby enhancing the security of shared
data.

File Tracking and Management: Develop a system that


enables users to track and manage their uploaded files
effectively. This includes providing features such as file
search, categorization, and metadata storage to facilitate easy
retrieval and organization of files.

User-Friendly Interface: Create an intuitive and user-friendly


interface that simplifies the file uploading and downloading
process. This includes designing an easy-to-navigate web
application with clear instructions and prompts for users.

1.4 Problem definition


The existing file sharing system lacks crucial features such as
user authentication, efficient file tracking and management,
and a user-friendly interface. This poses security risks, leads
to disorganization and difficulties in locating files, and makes
the file sharing process cumbersome. To address these issues,
the new FileDrop system aims to provide secure access
through user authentication, streamline file tracking and
management, and offer a user-friendly interface for seamless
file sharing.
2. Proposed System:
2.1 Tools and Technology Used:-
- Java: The core programming language for developing the
FileDrop system.
- Java Spring Framework: A lightweight and modular
framework used for generating endpoints and binding them
with web pages for server side processing.
- JSP (JavaServer Pages): Used for creating dynamic web
pages.
- MySQL: The database management system for storing file
information and user data.
- HTML/CSS: Used for designing the user interface.
- Apache Tomcat: The web server used to deploy and run the
FileDrop application.

2.2 Users and roles:-


- Sender: Users who upload files to be shared. They can
generate a unique identifier code and provide the file to be
uploaded.
- Receiver: Users who access and download files shared by
senders. They can enter the identifier code to retrieve and
download the corresponding files.
2.3 Functionalities/Modules:-
- User Authentication: Implement a login/signup feature to
authenticate users and ensure secure access to the system.
- File Upload: Allow senders to upload files and generate a
unique identifier code for each file.
- File Storage: Store file information, including the identifier
code, file path, and upload timestamp, in the MySQL
database for efficient tracking and management.
- File Download: Enable receivers to enter the identifier code
and retrieve/download the corresponding files.
- Anonymous and non-anonymous file sharing: The user will
be provided with an option to either use the application while
signed-in or without, with sign-in they can add the email of
their correspondent and as such have the option to share with
specific people without passwords, or use anonymous sharing
option with passwords.
- User Interface: Design a user-friendly interface using
HTML/CSS to facilitate seamless file uploading and
downloading.

By incorporating these features, the proposed FileDrop


system will provide a secure and user-friendly platform for
senders to upload files, generate unique codes, and for
receivers to access and download files using the provided
codes.
3. Database design details:

Database Design Details:

The proposed FileDrop system will utilize a MySQL


database to store user information and file details. The
database will consist of two main tables:

1. User Table:
- Fields:
- username (VARCHAR): Stores the unique username of
the user.
- password (VARCHAR): Stores the password associated
with the user's account.

This table will store the credentials of registered users,


allowing for user authentication during login.

2. FilePath Table:
- Fields:
- code (VARCHAR): Stores the unique identifier code of
length 7 associated with each uploaded file.
- filepath (VARCHAR): Stores the path of the file in the
file system.

This table will store the file details, including the identifier
code and the corresponding file path. It enables efficient
tracking and retrieval of files based on the provided codes.

The database design ensures separation of concerns, with the


User Table focused on user authentication and the FilePath
Table dedicated to file information. This design allows for
scalability and flexibility in managing user accounts and
uploaded files.
4. Project Result and Discussion:
The "FileDrop" project was successfully implemented as a
web application using JavaSpring Framework, JSP files, and
a MySQL database, implementing MVC concept. The
application provides a secure and convenient platform for
users to send and receive files. The project met its objectives
by allowing users to upload files, assigning unique codes to
each file, storing file paths and codes in the database, and
facilitating file retrieval based on entered codes.

The home page of the application features two main buttons,


"Send" and "Receive," providing a straightforward and
intuitive user interface. Clicking the "Send" button directs
users to the send.jsp page, where they can easily upload files
of their choice. Each file is assigned a unique seven-character
code, ensuring proper identification and linking with the
corresponding file path stored in the database.

For users who want to receive files, clicking the "Receive"


button on the home page leads them to a page with a text
field. Here, they can enter the code associated with the
desired files. Upon submitting the form, the system retrieves
all the file paths linked to the entered code from the database.

The retrieved file paths are then used to download the files to
the user's device, ensuring secure and authorized access to
the corresponding files. This mechanism enhances the overall
security and reliability of the system, preventing
unauthorized users from accessing files.

Discussion:

The "FileDrop" project successfully addresses the need for a


secure and user-friendly file sharing platform.
By utilizing Java Spring and JSP files, the application
leverages server-side processing capabilities to manage file
uploads, downloads, and database interactions efficiently.
This approach ensures optimal performance and scalability.

The use of a MySQL database for storing file paths and codes
enhances the security and reliability of the system. The
database provides a centralized and organized storage
solution, allowing for easy retrieval of files based on their
unique codes. Additionally, by storing only file paths in the
database, the actual files remain secure and protected.

The project's user interface is designed to be intuitive and


easy to use. The home page's simple layout with two
prominent buttons makes it straightforward for users to
understand the main functionalities of the application. The
code-based file retrieval system provides an additional layer
of security, ensuring that only authorized users with the
correct code can access and download files.

The "FileDrop" project can be further enhanced by


implementing additional features, such as user authentication
and authorization, file size limitations, and improved error
handling. User authentication would require users to log in
before accessing the file-sharing functionalities, adding an
extra layer of security. File size limitations would help
manage server resources and prevent abuse of the system.
Additionally, improved error handling would provide users
with more informative error messages, enhancing the overall
user experience.

Overall, the "FileDrop" project successfully fulfills its


objective of providing a practical solution for file sharing. Its
use of Java Spring, JSP files, and a MySQL database
demonstrates the application of server-side processing and
database management in web application development. The
project's simplicity and security make it a suitable choice for
college projects focused on web application development.
5. Future Enhancements:
User Authentication and Authorization: Implement a user
authentication system where users need to create accounts
and log in to access the file-sharing functionalities. This will
provide better security and ensure that only authorized users
can upload and download files. User roles and permissions
can be assigned to control access to certain files or features
within the application.

Access Control and File Permissions: Enhance the system to


allow users to set permissions for their files. Users can define
who can access, view, and download their files, providing
more control over file sharing. This can be implemented
through a user-friendly interface where users can manage file
permissions for specific codes or individual files.

Encryption and Secure File Transfer: Implement encryption


techniques to secure file transfers between the user's device
and the server. This will protect files from unauthorized
access during transmission. SSL/TLS protocols can be
utilized to establish a secure connection between the client
and the server.

Two-Factor Authentication (2FA): Add an extra layer of


security by implementing two-factor authentication. Users
can be required to provide an additional verification code
sent to their registered mobile device or email address before
accessing the file-sharing functionalities.

Protected File Sharing: Introduce an option for users to share


files with added protection. This can be achieved by
implementing password-based file sharing, where users can
set a password for specific files or codes. Only individuals
with the correct password will be able to access and
download the protected files.
File Expiry and Deletion: Implement a mechanism to
automatically delete files after a specified period or when
they have been downloaded a certain number of times. This
feature can be useful for sensitive or temporary files to
ensure they are not accessible indefinitely.

6. Conclusion:
The "FileDrop" project successfully provides a secure and
convenient file-sharing platform using Java Servlets, JSP
files, and a MySQL database. It fulfills its objective of
allowing users to send and receive files with ease. The
project's user-friendly interface and code-based file retrieval
system make it a practical solution for web application
development.

By leveraging server-side processing and database


management, the application efficiently handles file uploads,
downloads, and database interactions. The use of a MySQL
database ensures secure storage and retrieval of files,
enhancing the overall reliability and security of the system.

Future Enhancements:

User Authentication and Authorization


Access Control and File Permissions
Encryption and Secure File Transfer
Two-Factor Authentication (2FA)
Protected File Sharing
File Expiry and Deletion
Improved Error Handling and Logging
File Size Limitations and Compression
Multiple File Uploads

These enhancements will further strengthen the security and


functionality of the "FileDrop" project, providing more
control and flexibility to users.
The addition of user authentication and authorization will
ensure only authorized individuals can access and interact
with the file-sharing functionalities. Features like encryption,
two-factor authentication, and password-based file sharing
will enhance the security of file transfers and protect
sensitive data. Implementing file expiry and deletion
mechanisms will help manage storage space and data
privacy. Improved error handling, logging, and file size
limitations will enhance the overall user experience and
optimize system performance.

You might also like