1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-02 13:24:20 +01:00
fab-manager/README.md

93 lines
4.2 KiB
Markdown
Raw Normal View History

2020-02-26 10:19:43 +01:00
# Fab-manager
2015-05-05 03:10:25 +02:00
2021-04-30 16:14:05 +02:00
Fab-manager is the Fab Lab management solution. It provides a comprehensive, web-based, open-source tool to simplify your administrative tasks, and document your marker's projects.
2015-05-05 03:10:25 +02:00
[![Coverage Status](https://coveralls.io/repos/github/sleede/fab-manager/badge.svg)](https://coveralls.io/github/sleede/fab-manager)
2018-12-18 10:55:28 +01:00
[![Docker pulls](https://img.shields.io/docker/pulls/sleede/fab-manager.svg)](https://hub.docker.com/r/sleede/fab-manager/)
2021-04-27 11:00:49 +02:00
[![Docker Build Status](https://img.shields.io/docker/cloud/build/sleede/fab-manager.svg)](https://hub.docker.com/r/sleede/fab-manager/builds)
2019-12-16 16:54:40 +01:00
[![Crowdin](https://badges.crowdin.net/fab-manager/localized.svg)](https://crowdin.com/project/fab-manager)
2015-05-05 03:10:25 +02:00
##### Table of Contents
2016-03-23 18:39:41 +01:00
1. [Software stack](#software-stack)
2. [Contributing](#contributing)
3. [Documentation](#documentation)
4. [Open Projects](#open-projects)
5. [Plugins](#plugins)
6. [Single Sign-On](#sso)
7. [Related Documentation](#related-documentation)
2015-05-05 03:10:25 +02:00
2016-03-23 18:39:41 +01:00
<a name="software-stack"></a>
## Software stack
2015-05-05 03:10:25 +02:00
2020-02-26 10:19:43 +01:00
Fab-manager is a Ruby on Rails / AngularJS web application that runs on the following software:
2015-05-05 03:10:25 +02:00
- Ubuntu LTS 14.04+ / Debian 8+
2020-05-20 10:14:44 +02:00
- Ruby 2.6
2020-06-09 16:23:07 +02:00
- Redis 6
- Sidekiq 6
- Elasticsearch 5.6
2019-10-09 09:52:58 +02:00
- PostgreSQL 9.6
2015-05-05 03:10:25 +02:00
2016-03-23 18:39:41 +01:00
<a name="contributing"></a>
## Contributing
2015-05-05 03:10:25 +02:00
2016-03-23 18:39:41 +01:00
Contributions are welcome. Please read [the contribution guidelines](CONTRIBUTING.md) for more information about the contribution process.
2015-05-05 03:10:25 +02:00
<a name="documentation"></a>
## Documentation
2016-03-23 18:39:41 +01:00
The full documentation is available at [doc.fab.mn](http://doc.fab.mn).
2016-03-23 18:39:41 +01:00
2016-05-03 11:27:01 +02:00
<a name="open-projects"></a>
## Open Projects
**This configuration is optional.**
2020-02-26 10:19:43 +01:00
You can configure your Fab-manager to synchronize every project with the [Open Projects platform](https://github.com/sleede/openlab-projects).
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.
2018-07-04 16:30:19 +02:00
The deal is fair, you share your projects and as reward you benefits from projects of the whole community.
2016-05-03 11:29:14 +02:00
2020-02-26 10:19:43 +01:00
If you want to try it, you can visit [this Fab-manager](https://fablab.lacasemate.fr/#!/projects) and see projects from different Fab-managers.
2016-05-03 11:27:01 +02:00
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`
2016-05-03 11:27:01 +02:00
2016-06-13 11:34:11 +02:00
**IMPORTANT: please run your server in production mode.**
2016-05-03 11:29:38 +02:00
Go to your projects gallery and enjoy seeing your projects available from everywhere ! That's all.
2016-03-23 18:39:41 +01:00
2016-06-16 18:01:45 +02:00
<a name="plugins"></a>
## Plugins
Fab-manager has a system of plugins mainly inspired by [Discourse](https://github.com/discourse/discourse) architecture.
2016-06-16 18:01:45 +02:00
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.
2019-03-26 14:04:45 +01:00
You can see an example on the [repo of navinum gamification plugin](https://github.com/sleede/navinum-gamification)
2016-06-16 18:01:45 +02:00
2016-09-12 17:29:44 +02:00
<a name="sso"></a>
## Single Sign-On
Fab-manager can be connected to a [Single Sign-On](https://en.wikipedia.org/wiki/Single_sign-on) server which will provide its own authentication for the platform's users.
2020-05-20 10:14:44 +02:00
Currently, OAuth 2 is the only supported protocol for SSO authentication.
2016-09-12 17:29:44 +02:00
2020-05-20 10:14:44 +02:00
For an example of how to use configure an SSO in Fab-manager, please read [sso_with_github.md](doc/sso_with_github.md).
2016-09-12 17:29:44 +02:00
2016-03-23 18:39:41 +01:00
<a name="related-documentation"></a>
## Related Documentation
2016-01-18 15:40:30 +01:00
2020-05-18 10:28:30 +02:00
- [Ruby 2.6.5](http://ruby-doc.org/core-2.6.5/)
2016-03-23 18:39:41 +01:00
- [Ruby on Rails](http://api.rubyonrails.org)
- [AngularJS](https://docs.angularjs.org/api)
- [Angular-Bootstrap](http://angular-ui.github.io/bootstrap/)
- [ElasticSearch 5.6](https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index.html)