PHPackages                             devcreative/fileshare - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. devcreative/fileshare

ActiveSilverstripe-vendormodule

devcreative/fileshare
=====================

File sharing service. A Silverstripe based server with a RESTful API and ReactJS client

231CSS

Since May 2Pushed 8y ago1 watchersCompare

[ Source](https://github.com/david-ny/silverstripe-fileshare)[ Packagist](https://packagist.org/packages/devcreative/fileshare)[ RSS](/packages/devcreative-fileshare/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependenciesVersions (1)Used By (0)

Fileshare for SilverStripe
==========================

[](#fileshare-for-silverstripe)

Introduction
------------

[](#introduction)

In its current form this is a centralized file sharing service for small businesses or communities.
See future plans at the bottom of the page.
Under the hood it's a Silverstripe based server providing a RESTful API and a ReactJS client.

Goals
-----

[](#goals)

- creation of a file sharing service which can operate in a shared hosting environment on a typical LAMP stack where there is no possibility to modify upload\_max\_size, or post\_max\_size variables.
- a responsive client which scales well on mobile devices

Features
--------

[](#features)

- users can:
    - upload one or more files via drag'n'drop or using the upload button.
    - create folders
    - download files
- admins can:
    - share files with multiple users
    - create shareable links for files
    - browse the users folders, act on their behalf

Architecture
------------

[](#architecture)

The module takes advantage of Silverstripe 4's File API to store and protect files. As SS4 uses FlySystem in the background, filesystem abstraction should be possible - but not tested yet.
The server can be communicated trough a RESTful API.

The client is a responsive web app based on ReactJS and Bootstrap 4.
The upload script is resumable.js. It's not the best fit for React, immutable data structures, es6 and functional programming, but it's proven, reliable and it can create small chunks from the files before uploading, to allow pause/resume functionality and to keep upload sizes under the servers filesize limit.

Screenshots
-----------

[](#screenshots)

### Login

[](#login)

[![Login](docs/01_login.png)](docs/01_login.png)

### My files

[](#my-files)

[![My files](docs/02_my_files.png)](docs/02_my_files.png)

### Drag'n'drop

[](#dragndrop)

[![Drag'n'drop](docs/03_drag_and_drop.png)](docs/03_drag_and_drop.png)

### All files

[](#all-files)

[![All files](docs/04_all_files.png)](docs/04_all_files.png)

### Uploading

[](#uploading)

[![Uploading](docs/05_uploading_for_user1.png)](docs/05_uploading_for_user1.png)

### Shareable link dialogue

[](#shareable-link-dialogue)

[![Shareable link](docs/06_shareable_link.png)](docs/06_shareable_link.png)

### Sharing dialogue

[](#sharing-dialogue)

[![Sharing](docs/07_sharing.png)](docs/07_sharing.png)

### Mobile view

[](#mobile-view)

[![Mobile view](docs/08_mobile.png)](docs/08_mobile.png)

installation
------------

[](#installation)

```
composer require "devcreative/fileshare"

```

Usage
-----

[](#usage)

- don't forget to dev/build and flush
- optional: edit the config file: fileshare.yml
    to modify the default fileshare\_folder\_name. ('fileshare')
- create a new FileSharePage.
- add users the fileshare-user, or the fileshare-admin groups respectively

### Plans/Todo

[](#planstodo)

- From users perspective:

    - add some smaller missing features like:
        - renaming folders
        - add select/deselect all button
        - etc
    - selectable color themes, or a color slider
    - make sharing folders possible
    - allow users to create shareable links for files
    - allow users to share files with each other (based on friendship, or predefined groups)
    - allow admins to create user groups (share files with groups etc.)
    - display the uploading status of each file, allow to pause and restart (resumable.js does this, it only needs the UI)
- From developers perspective:

    - create API documentation
    - create missing unit tests
    - client: error handling and display
    - server code needs some refactoring
    - JWT tokens for authentication
    - Redux for state management
    - Apicase to organize API calls
    - JSS for styling

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/512412b3c6f187ceb43efab0246ec6dbfd344b17f88c053b84f0e90b9048078f?d=identicon)[david-ny](/maintainers/david-ny)

---

Top Contributors

[![david-ny](https://avatars.githubusercontent.com/u/7448452?v=4)](https://github.com/david-ny "david-ny (16 commits)")

### Embed Badge

![Health badge](/badges/devcreative-fileshare/health.svg)

```
[![Health](https://phpackages.com/badges/devcreative-fileshare/health.svg)](https://phpackages.com/packages/devcreative-fileshare)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
