Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/opuscapita/filemanager
React based FileManager for browser ( + FS REST API for Node.js and Express)
https://github.com/opuscapita/filemanager
file-browser file-explorer file-upload filemanager frontend javascript js nodejs react
Last synced: about 1 month ago
JSON representation
React based FileManager for browser ( + FS REST API for Node.js and Express)
- Host: GitHub
- URL: https://github.com/opuscapita/filemanager
- Owner: OpusCapita
- License: apache-2.0
- Created: 2017-10-16T15:00:59.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-26T00:26:33.000Z (8 months ago)
- Last Synced: 2024-09-22T09:02:36.045Z (about 2 months ago)
- Topics: file-browser, file-explorer, file-upload, filemanager, frontend, javascript, js, nodejs, react
- Language: JavaScript
- Homepage: https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileManager&maxContainerWidth=100%25&showSidebar=false
- Size: 13.6 MB
- Stars: 564
- Watchers: 33
- Forks: 123
- Open Issues: 104
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Filemanager
[![badge-circleci](https://img.shields.io/circleci/project/github/RedSparr0w/node-csgo-parser.svg)](https://circleci.com/gh/OpusCapita/filemanager)
[![badge-npm](https://img.shields.io/npm/dm/@opuscapita/react-filemanager.svg)](https://www.npmjs.com/package/@opuscapita/react-filemanager)
[![badge-license](https://img.shields.io/github/license/OpusCapita/filemanager.svg)](./LICENSE)## [Demo](https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileManager&maxContainerWidth=100%25&showSidebar=false)
## [React Documentation](https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileNavigator&maxContainerWidth=100%25&showSidebar=true)
> Demo and react documentation are powered by [React Showroom](https://github.com/OpusCapita/react-showroom-client)
### Packages
* [Client React](./packages/client-react)
* [Server Node](./packages/server-nodejs)
* [Client React connector for Server Node API v1](./packages/connector-node-v1)
* [Client React connector for Google Drive API v2](./packages/connector-google-drive-v2)Detailed documentation for each package is coming soon.
### Spring Boot Starter
Spring boot applications can benefit from Spring boot starter package found here:
* [Spring Boot](./spring-boot) - see README there for details
### Basic usage
Client implementation is an npm package which can be embed into your application.
It uses [React](https://reactjs.org/) framework and supports connectors to different file storages.
Predefined connectors are:* [Client React connector for Server Node API v1](./packages/connector-node-v1)
* [Client React connector for Google Drive API v2](./packages/connector-google-drive-v2)You can write you own custom connectors (documentation on how to do it will appear later).
#### How to use Server Node
[**Server Node API v1 Documentation**](https://demo.core.dev.opuscapita.com/filemanager/master/api/docs)
Install package
```shell
npm install --save @opuscapita/filemanager-server
```Now you have at least two ways of using it:
* Start as application
```js
let config = {
fsRoot: __dirname,
rootName: 'Root folder',
port: process.env.PORT || '3020',
host: process.env.HOST || 'localhost'
};let filemanager = require('@opuscapita/filemanager-server');
filemanager.server.run(config);
```* [Use as middleware](https://github.com/OpusCapita/filemanager/blob/abbe7b00f57f86c25ed5eae2673920c02ec1859f/packages/demoapp/index.js#L5)
#### How to use Client React
Install packages
```shell
npm install --save @opuscapita/react-filemanager @opuscapita/react-filemanager-connector-node-v1
```Use it as a child component of you application
```jsx
import React from 'react';
import ReactDOM from 'react-dom';
import { FileManager, FileNavigator } from '@opuscapita/react-filemanager';
import connectorNodeV1 from '@opuscapita/react-filemanager-connector-node-v1';const apiOptions = {
...connectorNodeV1.apiOptions,
apiRoot: `http://opuscapita-filemanager-demo-master.azurewebsites.net/` // Or you local Server Node V1 installation.
}const fileManager = (
);ReactDOM.render(fileManager, document.body);
```#### [Changelog](https://github.com/OpusCapita/filemanager/blob/master/CHANGELOG.md)
#### [Code of Conduct](https://github.com/OpusCapita/filemanager/blob/master/.github/CODE_OF_CONDUCT.md)
#### [Contributing Guide](https://github.com/OpusCapita/filemanager/blob/master/.github/CONTRIBUTING.md)## Development
In any directory with `Makefile` (including repo's root) type `make` to see available commands (requires `make` utility to be installed locally, ideally GNU MAKE 4.2.1).
There're prebuilt docker images with tools needed for building code and deploying demo application:
```
make container-for-code # starts a container, where one can execute 'make' to test/build/etc code (both for JS and Spring boot parts)
// or
make container-for-deployment # starts a container, where one can execute 'make' with goals related to deployment of demo application
```### Main contributors
| [](https://github.com/asergeev-sc) | [**Alexey Sergeev**](https://github.com/asergeev-sc) |
| :---: | :---: |
| [](https://github.com/kvolkovich-sc) | [**Kirill Volkovich**](https://github.com/kvolkovich-sc) |
| [](https://github.com/amourzenkov-sc) | [**Andrei Mourzenkov**](https://github.com/amourzenkov-sc) |
[](https://github.com/abaliunov-sc) | [**Aleksandr Baliunov**](https://github.com/abaliunov-sc) |
[](https://github.com/estambakio-sc) | [**Egor Stambakio**](https://github.com/estambakio-sc) |## License
Licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full license text.