A secure and efficient file-sharing platform built with Java and Spring Boot. This application enables users to upload, manage, and share files with role-based access control and audit logging.
A secure and efficient file-sharing platform built with Java and Spring Boot. This application enables users to upload, manage
- π User Authentication & Authorization (Spring Security)
- π€ File Upload & Download with metadata tracking
- π₯ Role-Based Access Control (Admin, User)
- π΅οΈ Audit Logging for file operations
- π File Categorization and search
- π Dashboard for file statistics (optional)
- π‘ RESTful APIs for integration and automation
Layer Technology Backend Java 17+, Spring Boot, Maven Security Spring Security 6+, JWT (optional) Persistence JPA/Hibernate, MySQL/PostgreSQL Documentation Swagger/OpenAPI Testing JUnit, Mockito π¦ Project Structure FilesharingManagementApplication/ βββ src/ β βββ main/ β β βββ java/com/filesharing/ β β β βββ controller/ β β β βββ service/ β β β βββ model/ β β β βββ repository/ β β β βββ config/ β β βββ resources/ β β βββ static/style/assets/.css β β βββ template/.html β βββ application.properties βββ pom.xml βββ README.md π§ͺ Getting Started 1οΈβ£ Clone the Repository git clone https://github.com/vikash-collab/FilesharingManagementApplication.git cd FilesharingManagementApplication 10/6/25, 1:27 PM Microsoft Copilot: Your AI companion https://copilot.microsoft.com/pages/CdTjXo91A6bNF8mBaCEGJ 1/3 2οΈβ£ Configure the Database Update application.properties : spring.datasource.url=jdbc:mysql://localhost:3306/filesharingdb spring.datasource.username=root spring.datasource.password=yourpassword 3οΈβ£ Build & Run mvn clean install mvn spring-boot:run 4οΈβ£Access Swagger UI http://localhost:8080/swagger-ui/index.html πAPI Endpoints Method Endpoint Description POST /api/files/upload Upload a file GET /api/files/{id} Download file by ID GET /api/files/user/{id} List userβs files DELETE /api/files/{id} Delete file π Security π§ Future Enhancements π€ Contributing Pull requests are welcome! For major changes, please open an issue first to discuss what you'd like to improve. In-memory or JDBC-based authentication Role-based access: ROLE_USER , ROLE_ADMIN Optional JWT integration for stateless sessions β JWT-based authentication π File usage analytics π¬ Email notifications on file share π§Ύ Versioning and rollback 10/6/25, 1:27 PM Microsoft Copilot: Your AI companion https://copilot.microsoft.com/pages/CdTjXo91A6bNF8mBaCEGJ 2/3 π License This project is licensed under the MIT License.