Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alukianov63/spring-files-storage
Example of file storage REST API, with local machine implementation and S3 bucket
https://github.com/alukianov63/spring-files-storage
file-server java postgresql rest-api s3-bucket spring-boot
Last synced: 27 days ago
JSON representation
Example of file storage REST API, with local machine implementation and S3 bucket
- Host: GitHub
- URL: https://github.com/alukianov63/spring-files-storage
- Owner: aLukianov63
- License: mit
- Created: 2023-09-10T16:00:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-30T19:27:24.000Z (about 1 year ago)
- Last Synced: 2024-11-05T09:44:27.964Z (2 months ago)
- Topics: file-server, java, postgresql, rest-api, s3-bucket, spring-boot
- Language: Java
- Homepage:
- Size: 126 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spring Boot files server
Example of file storage REST API, with local machine implementation and S3 bucket
## 🚧 Common setup
Clone the repo and install the dependencies.
```bash
git clone https://github.com/aLukianov63/spring-files-storage.git
```## 🗃️ Requirements
* Spring Boot
* Spring WEB
* Spring Data JPA
* PostrgreSQL Driver
* AWS SDK For Java
* Apache Commons IO
* Lombok## ⚗️ OpenAPI
Open Swagger ui page at `http://localhost:8080/swagger-ui/index.html`
![img.png](swagger.png)
## 🛠️ Configuration
```yaml
spring:
datasource:
url: jdbc:postgresql://:/
username:
password:
driver-class-name: org.postgresql.Driver
jpa:
hibernate:
ddl-auto: update
show-sql: false
properties:
hibernate:
format_sql: true
database: postgresql
database-platform: org.hibernate.dialect.PostgreSQLDialect
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MBfile-storage:
local:
directory:
s3:
endpoint:
region:
access-key:
secret-key:
bucket-name:
```## 📝 License
Distributed under the MIT license. See `LICENSE` for more information.