项目作者: basarevych

项目描述 :
Two pane file manager for the web
高级语言: JavaScript
项目地址: git://github.com/basarevych/webfm.git
创建时间: 2017-11-10T10:07:28Z
项目社区:https://github.com/basarevych/webfm

开源协议:MIT License

下载


Two-pane file manager for the web.

Demo: webfm.daemon-notes.com

Login/Password: guest/guest

WebFM

  • Backend is Sails v1 application on Node v8

    Custom ORM adapter is created for file system access. Basically, I am using
    ORM models and queries to work with the shares and files.

    The rest is simple REST server accessed via WebSockets.

    Backend is under api/
    directory.

  • Frontend is React/Redux on Bootstrap 4

    Fully responsive application created using Reactstrap, which is Bootstrap 4 for
    React, using custom CSS when needed (mainly flexbox).

    Initial markup comes prepared on the server utilizing Server-Side Rendering.

    Frontend is under assets/js/
    directory.

  • Everything is powered by JavaScript ES2017, native on Node and processed with
    Babel/Webpack for the browser.

Installation

  1. Install Node v8 and Redis according to your OS way of doing so.

  2. Get the sources:

    1. # git clone https://github.com/basarevych/webfm
    2. # cd webfm
    3. # cp webfm.conf.example webfm.conf
    4. # yarn install --prod

    NOTE: If you are going to use build commands then remove —prod from the
    yarn arguments above.

    I recommend using yarn for the dependencies and
    pm2 for starting as system service.

    Edit the initial webfm.conf file, add your users and shares. User password is
    SHA256 hash of a password actually - don’t put the real password there. Shares
    are defined as items in read[] or write[] array of the user section. You will find
    the example in the config file.

  3. Start

    Do yarn start or npm start to start the thing. To make it permanent you can
    do pm2 start ./ecosystem.config.js (this ecosystem.config.js file is in the
    repo).

Development

In order to build production bundles use yarn run build (after that run yarn start
to start the server).

Development version is built using yarn run build:dev. Run yarn run start:dev
to start dev version of the server.

Development bundles are excluded from the repo, but production bundles should be
committed into it so you will not have to run build task on hosting server.

License

MIT

TODO

  • Turn this React/Redux demo into a real application for everyday use.