1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-29 10:24:20 +01:00
Go to file
2021-02-23 11:44:50 +01:00
.github Using ruby 2.6 2020-11-25 10:42:28 +01:00
app updated links to user's guide 2021-02-22 19:26:38 +01:00
bin migrate to webpack 2020-09-07 15:52:05 +02:00
config New translations app.shared.en.yml (French) 2021-02-23 11:44:50 +01:00
db handle stripe requires_action 2021-02-08 15:28:47 +01:00
doc updated links to user's guide 2021-02-22 19:26:38 +01:00
docker add configuration of the postgreSQL username in environment variables 2020-11-11 12:48:39 +01:00
lib fix schedulable plans border color, in casemate theme + typo 2021-02-10 11:50:12 +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 upgrade to ruby 2.6 2020-05-18 10:28:30 +02:00
public [ongoing] change user role 2020-05-04 18:32:25 +02:00
scripts fix yq command syntax 2021-02-10 11:34:16 +01:00
setup Merge branch 'dev' into monthly-payment 2021-02-02 17:17:15 +01:00
test all tests passing 2021-01-04 16:26:52 +01:00
vendor/assets/fonts fixes import of JS dependencies 2020-09-14 16:08:49 +02:00
.browserslistrc migrate to webpack 2020-09-07 15:52:05 +02:00
.dockerignore do not include built assets in docker image + remove useless files 2020-10-20 16:08:05 +02:00
.eslintignore eslint & package.json 2018-10-25 12:38:32 +02:00
.eslintrc [bug] in the settings area, boolean switches are always shown as false 2020-10-26 16:38:17 +01:00
.gemrc Do not generate docs for gems 2018-02-14 12:47:49 -06:00
.gitignore save payment schedules PDF to a persistant volume storage 2020-12-22 16:39:37 +01:00
.nvmrc migrate to webpack 2020-09-07 15:52:05 +02:00
.rubocop.yml test subscription with schedule by admin 2020-12-15 17:01:54 +01:00
.ruby-gemset fix gemset 2016-03-31 10:06:07 +02:00
.ruby-version updated ruby version to 2.6.6 2020-11-25 11:39:53 +01:00
babel.config.js added typescript + hmr 2020-10-27 09:41:16 +01:00
Capfile init depot fabmanager 2015-05-05 03:10:25 +02:00
CHANGELOG.md updated changelog 2021-02-23 09:27:36 +01:00
config.ru architecture documentation 2020-12-29 13:13:48 +01:00
CONTRIBUTING.md info about translations into contrubution guidelines 2020-10-20 11:04:32 +02:00
crowdin.yml Update Crowdin configuration file 2019-12-11 12:42:47 +01:00
Dockerfile save payment schedules PDF to a persistant volume storage 2020-12-22 16:39:37 +01:00
env.example WIP: refactor stripe payment modal to react + do not user angular in react component (use Intl instead) 2020-11-24 13:26:15 +01:00
Gemfile WIP: stripe update card 2021-02-09 12:09:26 +01:00
Gemfile.lock WIP: stripe update card 2021-02-09 12:09:26 +01:00
Guardfile init depot fabmanager 2015-05-05 03:10:25 +02:00
LICENSE.md updated licences info 2020-10-20 16:39:26 +02:00
package.json Merge branch 'dev' into monthly-payment 2021-02-02 17:17:15 +01:00
postcss.config.js migrate to webpack 2020-09-07 15:52:05 +02:00
Procfile improved testing of payment schedules + some fixes 2020-12-30 18:43:33 +01:00
Rakefile architecture documentation 2020-12-29 13:13:48 +01:00
README.md [bug] unable to search for projects on OpenLab 2020-08-24 16:19:03 +02:00
tsconfig.json added typescript + hmr 2020-10-27 09:41:16 +01:00
Vagrantfile fixes development readme to use .env instead of application.yml 2020-04-29 17:41:11 +02:00
yarn.lock Updated caniuse to 1.0.30001191 2021-02-22 09:42:51 +01:00

Fab-manager

Fab-manager 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

Fab-manager is a Ruby on Rails / AngularJS web application that runs on the following software:

  • Ubuntu LTS 14.04+ / Debian 8+
  • Ruby 2.6
  • Redis 6
  • Sidekiq 6
  • 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, you must follow the procedure described in the production readme. This procedure is using Docker-compose to manage the application and its dependencies.

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-compose 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 Fab-manager 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 and the URL of your Fab-manager, they will give you an App ID and a secret
  • fill in the value of the keys in Admin > Projects > Settings > Projects sharing
  • 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 rails 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 an SSO in Fab-manager, please read sso_with_github.md.

Known issues

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