1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-29 10:24:20 +01:00
Go to file
2020-01-14 14:33:00 +01:00
.github change roadmap by feedback 2019-12-11 15:02:57 +01:00
app health endpoint & automated version check 2020-01-14 14:33:00 +01:00
bin updates fabmanager bin 2016-06-22 09:18:57 +02:00
config health endpoint & automated version check 2020-01-14 14:33:00 +01:00
db check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
doc check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
docker moved setup files to separate folder 2019-12-24 15:27:42 +01:00
lib health endpoint & automated version check 2020-01-14 14:33:00 +01:00
log init depot fabmanager 2015-05-05 03:10:25 +02:00
plugins extracting navi_gami from fab-manager repo 2016-05-26 15:13:36 +02:00
provision Include packages and copy configuration files to enable build and test Docker images in the virtual environment 2019-09-25 14:08:15 -05:00
public [ongoing] import members from csv 2019-09-25 16:37:42 +02:00
scripts handle ctrl-c in upgrade scripts 2019-10-22 16:46:40 +02:00
setup check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
test health endpoint & automated version check 2020-01-14 14:33:00 +01:00
vendor/assets migrate from bower to yarn 2018-11-22 17:09:33 +01:00
.dockerignore Merge branch 'uvsq' into dev 2019-09-30 15:34:21 +02:00
.eslintignore eslint & package.json 2018-10-25 12:38:32 +02:00
.eslintrc get user consent about cookies 2019-06-13 11:28:55 +02:00
.gemrc Do not generate docs for gems 2018-02-14 12:47:49 -06:00
.gitignore upload csv file to the server through the API and save it on the disk 2019-09-24 17:42:50 +02:00
.nvmrc eslint problems autofixes 2018-11-21 10:59:07 +01:00
.rspec init depot fabmanager 2015-05-05 03:10:25 +02:00
.rubocop.yml wallet client line in accounting export + factorized accountingExportService 2019-09-19 13:57:33 +02:00
.ruby-gemset fix gemset 2016-03-31 10:06:07 +02:00
.ruby-version Upgrade dev environments from ruby 2.3.6 to 2.3.8 (#143) 2019-09-11 11:12:05 +02:00
3rd-PARTY-LICENSES.md updated licence infos 2019-03-20 16:53:09 +01:00
Capfile init depot fabmanager 2015-05-05 03:10:25 +02:00
CHANGELOG.md check version on hub & [ongoing] health endpoint 2020-01-13 17:05:53 +01:00
Cheffile clarified doc about setup of database.yml 2016-03-31 21:16:11 +02:00
coffeeerb.list removed erb suffixes 2018-10-25 13:06:09 +02:00
config.ru release 2.0 rc 2016-03-23 18:39:41 +01:00
CONTRIBUTING.md [ongoing] remove LaCasemate marks 2019-03-25 17:14:26 +01:00
crowdin.yml Update Crowdin configuration file 2019-12-11 12:42:47 +01:00
Dockerfile Merge branch 'uvsq' into dev 2019-09-30 15:34:21 +02:00
Gemfile fix: no logs in staging 2019-12-24 10:49:51 +01:00
Gemfile.lock Merge pull request #163 from sleede/dependabot/bundler/rack-1.6.12 2019-12-23 08:48:11 +01:00
Guardfile init depot fabmanager 2015-05-05 03:10:25 +02:00
LICENSE.md unbranding LaCasemate 2019-03-26 14:04:45 +01:00
package.json updated angular.js to 1.7 2019-11-25 11:26:35 +01:00
Procfile bind mailcatcher to all interfaces 2019-09-20 10:29:40 +02:00
Rakefile init depot fabmanager 2015-05-05 03:10:25 +02:00
README.md [ongoing] refactoring i18n keys 2019-12-16 16:54:40 +01:00
Vagrantfile Include packages and copy configuration files to enable build and test Docker images in the virtual environment 2019-09-25 14:08:15 -05:00
yarn.lock updated angular.js to 1.7 2019-11-25 11:26:35 +01:00

FabManager

FabManager is the Fab Lab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks and your marker's projects.

Coverage Status Docker pulls Docker Build Status Crowdin

Table of Contents
  1. Software stack
  2. Contributing
  3. Setup a production environment
  4. Setup a development environment
  5. Internationalization (i18n)
  6. Open Projects
  7. Plugins
  8. Single Sign-On
  9. Known issues
  10. Related Documentation

Software stack

FabManager is a Ruby on Rails / AngularJS web application that runs on the following software:

  • Ubuntu LTS 14.04+ / Debian 8+
  • Ruby 2.3
  • Redis 2.8.4+
  • Sidekiq 3.3.4+
  • Elasticsearch 5.6
  • PostgreSQL 9.6

Contributing

Contributions are welcome. Please read the contribution guidelines for more information about the contribution process.

Setup a production environment

To run fab-manager as a production application, this is highly recommended to use Docker-compose. The procedure to follow is described in the docker-compose readme.

Setup a development environment

In you intend to run fab-manager on your local machine to contribute to the project development, you can set it up by following the development readme. This procedure relies on docker to set-up the dependencies.

Optionally, you can use a virtual development environment that relies on Vagrant and Virtual Box by following the virtual machine instructions.

Internationalization (i18n)

The FabManager application can only run in a single language but this language can easily be changed.

Please refer to the translation readme for instructions about configuring the language or to contribute to the translation.

Open Projects

This configuration is optional.

You can configure your fab-manager to synchronize every project with the Open Projects platform. It's very simple and straightforward and in return, your users will be able to search over projects from all fab-manager instances from within your platform. The deal is fair, you share your projects and as reward you benefits from projects of the whole community.

If you want to try it, you can visit this fab-manager and see projects from different fab-managers.

To start using this awesome feature, there are a few steps:

  • send a mail to contact@fab-manager.com asking for your Open Projects client's credentials and giving them the name of your fab-manager, they will give you an OPENLAB_APP_ID and an OPENLAB_APP_SECRET
  • fill in the value of the keys in your environment file
  • start your fab-manager app
  • export your projects to open-projects (if you already have projects created on your fab-manager, unless you can skip that part) executing this command: bundle exec rake fablab:openlab:bulk_export

IMPORTANT: please run your server in production mode.

Go to your projects gallery and enjoy seeing your projects available from everywhere ! That's all.

Plugins

Fab-manager has a system of plugins mainly inspired by Discourse architecture.

It enables you to write plugins which can:

  • have its proper models and database tables
  • have its proper assets (js & css)
  • override existing behaviours of Fab-manager
  • add features by adding views, controllers, ect...

To install a plugin, you just have to copy the plugin folder which contains its code into the folder plugins of Fab-manager.

You can see an example on the repo of navinum gamification plugin

Single Sign-On

Fab-manager can be connected to a Single Sign-On server which will provide its own authentication for the platform's users. Currently OAuth 2 is the only supported protocol for SSO authentication.

For an example of how to use configure a SSO in Fab-manager, please read sso_with_github.md. Developers may find information on how to implement their own authentication protocol in sso_authentication.md.

Known issues

Before reporting an issue, please check if your issue is not listed in the know issues with its solution.