Cloud File Storage System (AWS + Spring Boot)
Built a secure cloud-based file storage system using Spring Boot, AWS S3, and PostgreSQL. The application allows authenticated users to upload, download, list, and delete files while enforcing ownership-based access control. Designed with a layered architecture and integrated cloud storage for scalability and reliability.
This project is a cloud-based file storage system designed to support secure collaboration between users such as researchers, educators, and entrepreneurs. The system provides a RESTful API that allows users to upload, download, list, and delete files while maintaining strict access control.
The application is built using a layered architecture with Spring Boot, separating responsibilities between the controller, service, and repository layers. File content is stored in Amazon S3 for scalability and durability, while file metadata, including file name, owner, size, and timestamps, is stored in PostgreSQL.
Authentication and authorization were implemented using Spring Security, ensuring that users can only manage files they own. The system was tested using API-based testing and unit tests with Mockito to validate functionality independently of external services.
This project demonstrates real-world cloud integration, secure API design, and scalable system architecture.