Skip to content

A Spring Boot REST API for Filo Cloud Storage, integrating MinIO for object storage, PostgreSQL for metadata and Redis for session management.

Notifications You must be signed in to change notification settings

ssss1131/Filo-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Filo Cloud Storage

Overview

Overview

Filo is a web-based cloud file storage application. Registered users can:

  • Upload files and entire folders
  • Browse directory tree, create, rename and delete folders
  • Download individual files or folders in zip format
  • Move files & folders around
  • Search by filename
  • Track storage quota with live progress bar

All your data is stored in MinIO (S3-compatible), metadata in PostgreSQL, and sessions in Redis.
Frontend of this application is - https://github.com/ssss1131/Filo-frontend


⚙️ Technologies & Tools

Backend

Java 17 Spring Boot Spring Security Spring Data JPA Spring Data Redis MinIO PostgreSQL Flyway

Deployment

Docker Docker Compose Nginx

Requirements

  • Java 17+
  • Docker, Docker-compose
  • Git

Local setup

  1. Clone the repository:
git clone https://github.com/ssss1131/Filo-backend
cd Filo-backend
  1. Start the required services using Docker Compose:
docker-compose up -d

This will start:

  • PostgreSQL database (port 5433)
  • Redis server (port 6379)
  • MinIO object storage (ports 9000 and 9090)
  1. Build and run the Spring Boot application:
./gradlew bootRun

The backend will start on the default port 8080.

Frontend setup you can read in https://github.com/ssss1131/Filo-frontend

About

A Spring Boot REST API for Filo Cloud Storage, integrating MinIO for object storage, PostgreSQL for metadata and Redis for session management.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages