{"id":15175310,"url":"https://github.com/opuscapita/filemanager","last_synced_at":"2026-02-14T01:51:31.387Z","repository":{"id":26544300,"uuid":"107143133","full_name":"OpusCapita/filemanager","owner":"OpusCapita","description":"React based FileManager for browser ( + FS REST API for Node.js and Express)","archived":false,"fork":false,"pushed_at":"2024-03-26T00:26:33.000Z","size":14259,"stargazers_count":564,"open_issues_count":104,"forks_count":121,"subscribers_count":32,"default_branch":"master","last_synced_at":"2025-04-11T20:18:20.320Z","etag":null,"topics":["file-browser","file-explorer","file-upload","filemanager","frontend","javascript","js","nodejs","react"],"latest_commit_sha":null,"homepage":"https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileManager\u0026maxContainerWidth=100%25\u0026showSidebar=false","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpusCapita.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-16T15:00:59.000Z","updated_at":"2025-02-11T15:49:46.000Z","dependencies_parsed_at":"2024-06-18T15:25:45.186Z","dependency_job_id":null,"html_url":"https://github.com/OpusCapita/filemanager","commit_stats":null,"previous_names":["opuscapita/react-filemanager"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusCapita%2Ffilemanager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusCapita%2Ffilemanager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusCapita%2Ffilemanager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpusCapita%2Ffilemanager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpusCapita","download_url":"https://codeload.github.com/OpusCapita/filemanager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647229,"owners_count":21139081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["file-browser","file-explorer","file-upload","filemanager","frontend","javascript","js","nodejs","react"],"created_at":"2024-09-27T12:22:19.506Z","updated_at":"2026-02-14T01:51:31.341Z","avatar_url":"https://github.com/OpusCapita.png","language":"JavaScript","readme":"# Filemanager\n\n[![badge-circleci](https://img.shields.io/circleci/project/github/RedSparr0w/node-csgo-parser.svg)](https://circleci.com/gh/OpusCapita/filemanager)\n[![badge-npm](https://img.shields.io/npm/dm/@opuscapita/react-filemanager.svg)](https://www.npmjs.com/package/@opuscapita/react-filemanager)\n[![badge-license](https://img.shields.io/github/license/OpusCapita/filemanager.svg)](./LICENSE)\n\n## [Demo](https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileManager\u0026maxContainerWidth=100%25\u0026showSidebar=false)\n\n## [React Documentation](https://demo.core.dev.opuscapita.com/filemanager/master/?currentComponentName=FileNavigator\u0026maxContainerWidth=100%25\u0026showSidebar=true)\n\n\u003e Demo and react documentation are powered by [React Showroom](https://github.com/OpusCapita/react-showroom-client)\n\n### Packages\n\n* [Client React](./packages/client-react)\n* [Server Node](./packages/server-nodejs)\n* [Client React connector for Server Node API v1](./packages/connector-node-v1)\n* [Client React connector for Google Drive API v2](./packages/connector-google-drive-v2)\n\nDetailed documentation for each package is coming soon.\n\n### Spring Boot Starter\n\nSpring boot applications can benefit from Spring boot starter package found here:\n\n* [Spring Boot](./spring-boot) - see README there for details\n\n### Basic usage\n\nClient implementation is an npm package which can be embed into your application.\nIt uses [React](https://reactjs.org/) framework and supports connectors to different file storages.\nPredefined connectors are:\n\n* [Client React connector for Server Node API v1](./packages/connector-node-v1)\n* [Client React connector for Google Drive API v2](./packages/connector-google-drive-v2)\n\nYou can write you own custom connectors (documentation on how to do it will appear later).\n\n#### How to use Server Node\n\n[**Server Node API v1 Documentation**](https://demo.core.dev.opuscapita.com/filemanager/master/api/docs)\n\nInstall package\n\n```shell\nnpm install --save @opuscapita/filemanager-server\n```\n\nNow you have at least two ways of using it:\n\n* Start as application\n\n```js\nlet config = {\n  fsRoot: __dirname,\n  rootName: 'Root folder',\n  port: process.env.PORT || '3020',\n  host: process.env.HOST || 'localhost'\n};\n\nlet filemanager = require('@opuscapita/filemanager-server');\nfilemanager.server.run(config);\n```\n\n* [Use as middleware](https://github.com/OpusCapita/filemanager/blob/abbe7b00f57f86c25ed5eae2673920c02ec1859f/packages/demoapp/index.js#L5)\n\n#### How to use Client React\n\nInstall packages\n\n```shell\nnpm install --save @opuscapita/react-filemanager @opuscapita/react-filemanager-connector-node-v1\n```\n\nUse it as a child component of you application\n\n```jsx\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { FileManager, FileNavigator } from '@opuscapita/react-filemanager';\nimport connectorNodeV1 from '@opuscapita/react-filemanager-connector-node-v1';\n\nconst apiOptions = {\n  ...connectorNodeV1.apiOptions,\n  apiRoot: `http://opuscapita-filemanager-demo-master.azurewebsites.net/` // Or you local Server Node V1 installation.\n}\n\nconst fileManager = (\n \u003cdiv style={{ height: '480px' }}\u003e\n    \u003cFileManager\u003e\n      \u003cFileNavigator\n        id=\"filemanager-1\"\n        api={connectorNodeV1.api}\n        apiOptions={apiOptions}\n        capabilities={connectorNodeV1.capabilities}\n        listViewLayout={connectorNodeV1.listViewLayout}\n        viewLayoutOptions={connectorNodeV1.viewLayoutOptions}\n      /\u003e\n    \u003c/FileManager\u003e\n  \u003c/div\u003e\n);\n\nReactDOM.render(fileManager, document.body);\n```\n\n#### [Changelog](https://github.com/OpusCapita/filemanager/blob/master/CHANGELOG.md)\n#### [Code of Conduct](https://github.com/OpusCapita/filemanager/blob/master/.github/CODE_OF_CONDUCT.md)\n#### [Contributing Guide](https://github.com/OpusCapita/filemanager/blob/master/.github/CONTRIBUTING.md)\n\n## Development\n\nIn 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).\n\nThere're prebuilt docker images with tools needed for building code and deploying demo application:\n```\nmake container-for-code # starts a container, where one can execute 'make' to test/build/etc code (both for JS and Spring boot parts)\n// or\nmake container-for-deployment # starts a container, where one can execute 'make' with goals related to deployment of demo application\n```\n\n### Main contributors\n\n| [\u003cimg src=\"https://avatars.githubusercontent.com/u/24603787?v=3\" width=\"100px;\"/\u003e](https://github.com/asergeev-sc) | [**Alexey Sergeev**](https://github.com/asergeev-sc)     |\n| :---: | :---: |\n| [\u003cimg src=\"https://avatars.githubusercontent.com/u/24652543?v=3\" width=\"100px;\"/\u003e](https://github.com/kvolkovich-sc) | [**Kirill Volkovich**](https://github.com/kvolkovich-sc) |\n| [\u003cimg src=\"https://avatars1.githubusercontent.com/u/24649844?s=400\u0026v=4\" width=\"100px;\"/\u003e](https://github.com/amourzenkov-sc) | [**Andrei Mourzenkov**](https://github.com/amourzenkov-sc) |\n  [\u003cimg src=\"https://avatars.githubusercontent.com/u/28590602?v=3\" width=\"100px;\"/\u003e](https://github.com/abaliunov-sc) | [**Aleksandr Baliunov**](https://github.com/abaliunov-sc) |\n  [\u003cimg src=\"https://avatars0.githubusercontent.com/u/31243790?s=460\u0026v=4\" width=\"100px;\"/\u003e](https://github.com/estambakio-sc) | [**Egor Stambakio**](https://github.com/estambakio-sc) |\n\n## License\n\nLicensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for the full license text.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopuscapita%2Ffilemanager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopuscapita%2Ffilemanager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopuscapita%2Ffilemanager/lists"}