Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kushshriv/secure-file-sharing-java-spring
Simple Secure file sharing system made with java spring using an MVC framework
https://github.com/kushshriv/secure-file-sharing-java-spring
Last synced: 6 days ago
JSON representation
Simple Secure file sharing system made with java spring using an MVC framework
- Host: GitHub
- URL: https://github.com/kushshriv/secure-file-sharing-java-spring
- Owner: KushShriv
- Created: 2024-08-19T03:54:45.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-19T05:07:07.000Z (3 months ago)
- Last Synced: 2024-08-19T06:25:13.329Z (3 months ago)
- Language: Java
- Size: 21.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Secure File Sharing using Spring
![](https://img.shields.io/badge/Spring%20Boot-6DB33F.svg?style=for-the-badge&logo=Spring-Boot&logoColor=white)
![](https://img.shields.io/badge/Spring-6DB33F.svg?style=for-the-badge&logo=Spring&logoColor=white)
![](https://img.shields.io/badge/Apache%20Maven-C71A36.svg?style=for-the-badge&logo=Apache-Maven&logoColor=white)## Problem Statement
The project is an end-to-end secure file sharing system, following the P2P architecture. It is developed using the Spring MVC framework and built with Maven.### Overview
- The system allows secure file sharing through rooms created by clients. Each room has an invite link that peers use to join the network for sending or receiving files.
- Files are encrypted using AES (Advanced Encryption Standard) encryption algorithm before transmission. The sender encrypts the file with a secret key before sending it, and the receiver decrypts it using the same key available in the room.
- Additionally, checksums are used to verify file integrity, with SHA-256 as the checksum algorithm. Encrypted files are stored in MongoDB for future reference.## Running the Project
1. Clone the Repository:
```
git clone https://github.com/KushShriv/Secure-File-Sharing-Java-Spring.git
```2. Change to the Project Directory:
```
cd Safe-Send-Secure-File-Sharing-System
```3. Install Maven Dependencies:
```
mvn install
mvn clean install
```4. Execute the Code:
```
mvn spring-boot:run
```5. Access the Application in a Browser:
> PEER-1 at Port 8001 and PEER-2 at Port 8002```
http://localhost:8001
http://localhost:8002
```### Note - Database Setup
> Connect to MongoDB before running the project.
>
> Create databases named `FileDB1` and `FileDB2`.#### Software Versions used:
- Java - 17
- Spring Boot - 2.6.7
- Packaging - Jar
- Maven