Loading repository data…
Loading repository data…
SAdhikary2 / repository
A scalable and secure backend system for file upload, storage, and retrieval using Spring Boot and MySQL. It provides RESTful APIs with BLOB-based file persistence, modular architecture, and enterprise-ready design for high performance and maintainability.
This project demonstrates a robust and scalable backend service for secure file management built using Spring Boot and MySQL. It implements a fully functional RESTful API that supports secure file upload, retrieval, and metadata handling with high performance and reliability.
Designed following enterprise architecture principles, the system uses modular abstraction through Controller, Service, Repository, and Entity layers, ensuring clean separation of concerns and easy extensibility.
ServletUriComponentsBuilder for generating download URIs with automatic MIME type detection.| Category | Technology |
|---|---|
| Backend Framework | Spring Boot (REST, Web, JPA, Validation) |
| Database | MySQL |
| ORM | Hibernate |
| Utilities | Lombok, Servlet API, ByteArrayResource |
| Testing Tools | Postman / cURL |
| Programming Language | Java 11+ |
The application follows a multi-tier architecture ensuring modularity and scalability.
Controller → Service → Repository → Database
Controller: Handles HTTP requests and maps them to corresponding service methods. Service: Contains business logic, validation, and exception handling. Repository: Manages database operations via Spring Data JPA. Entity: Defines database schema with optimized BLOB field mappings.
# File Upload Configuration
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=200MB
spring.servlet.multipart.max-request-size=215MB
# Database Configuration
spring.datasource.url=jdbc:mysql://localhost:3306/file_db
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.hibernate.ddl-auto=update
git clone https://github.com/SAdhikary2/uploadify.git
Edit the application.properties file with your MySQL credentials.
mvn spring-boot:run
Use Postman or cURL to verify file upload and download functionality.
Upload Example:
curl -F "file=@path/to/yourfile.txt" http://localhost:8080/upload
Download Example:
curl -O http://localhost:8080/download/{fileId}
src/
├── main/
│ ├── java/com/example/filemanager/
│ │ ├── controller/
│ │ ├── service/
│ │ ├── repository/
│ │ └── entity/
│ └── resources/
│ └── application.properties
└── test/
Sukalyan Adhikary | Full Stack Developer — Spring Boot | React | MySQL