Giter Club home page Giter Club logo

phoenixgreat / streaming-file-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from daggerok/streaming-file-server

0.0 2.0 0.0 459 KB

full-stack java file server based on spring mvc and spring-boot with no limitation for upload and download files ..almost :) technology stack: spring-mvc, spring-boot, postgres / h2, spring-data rest and jpa, apache fileUpload, lombok, mustache template engine, docker compose, spring-data-querydsl, awesome JGiven, spring mvc and powermock testing, gradle, travis CI, bootstrap-css, bootstrap-filelinput, webjars

Home Page: http://daggerok.github.io/streaming-file-server/

Java 62.23% CSS 0.45% HTML 10.63% Shell 12.68% Batchfile 14.01%

streaming-file-server's Introduction

streaming-file-server build

full-stack java file server based on spring-boot / spring-* with no limitation for upload and download files

try it locally

Installation

with postgres in using docker

export VERSION="3.0.1"

# database
wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/docker-compose.yml
docker-compose -f docker-compose.yml up -d

# file-items data service
wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/file-items-service-$VERSION.jar
bash file-items-service-$VERSION.jar

# file server
wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/file-server-$VERSION.jar
bash file-server-$VERSION.jar --app.upload.path=./path/to/file-storage

# cleanup
docker-compose -f docker-compose.yml down -v

or simply using shell-script

wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/application.bash

# start
bash application.bash start ./path/to/file-storage

# stop
bash application.bash stop

# cleanup
bash application.bash clean ./path/to/file-storage

note: tested on osx with localhost docker

installed binaries: wget, docker-compose, bash and of course java are required

for windows use https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/application.cmd

@rem start
application.cmd start path\to\file-storage

@rem stop
application.cmd stop

@rem cleanup
application.cmd clean path\to\file-storage

note: tested on windows 10 with localhost docker for postgres

installed binaries: which, wget, docker-compose, taskkill, mkdir and of course java (binaries: java and jps) are required

with h2 in-memory database

wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/file-items-service-$VERSION.jar
wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/file-server-$VERSION.jar

bash file-items-service-$VERSION.jar --spring.profiles.active=db-h2
bash file-server-$VERSION.jar --app.upload.path=./path/to/file-storage

or simply shell script for h2

wget https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/application-h2.bash

# start
bash application-h2.bash start ./path/to/file-storage

# stop
bash application-h2.bash stop

# cleanup
bash application-h2.bash clean ./path/to/file-storage

for windows use https://github.com/daggerok/streaming-file-server/releases/download/$VERSION/application-h2.cmd

@rem start
application-h2.cmd start path\to\file-storage

@rem stop
application-h2.cmd stop

@rem cleanup
application-h2.cmd clean path\to\file-storage

note: tested on windows 10

installed binaries: which, del, wget, taskkill, mkdir and of course java, jps are required

development

bash gradlew clean assemble
bash gradlew :a-m:f-i-r-s:bootRun
bash gradlew :a-m:s-f-s:bootRun

# cleanup
bash gradlew composeDown
bash gradlew --stop

awesome JGiven reports!

bash gradlew clean test jgiven
open application-modules/streaming-file-server/jgiven-reports/html/index.html

technology stack

todo

  • support removing files (rly..? as minimum from db)
  • improve files-db sync (replace FileSystem with GridFS or ...?)
  • bi-directional files synchronization with spring scheduling or batch
  • backup, restore, migration
  • add more security...

before start, install all what you needed

streaming-file-server's People

Contributors

daggerok avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.