https://github.com/mumuki/mumuki-bibliotheca-api
:books: Storage and formatting API for Mumuki content
https://github.com/mumuki/mumuki-bibliotheca-api
api bibliotheca content-editor free-content lms mongodb
Last synced: 3 months ago
JSON representation
:books: Storage and formatting API for Mumuki content
- Host: GitHub
- URL: https://github.com/mumuki/mumuki-bibliotheca-api
- Owner: mumuki
- License: agpl-3.0
- Created: 2015-10-19T03:42:42.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-05-23T04:15:45.000Z (about 1 year ago)
- Last Synced: 2025-10-10T06:24:24.399Z (8 months ago)
- Topics: api, bibliotheca, content-editor, free-content, lms, mongodb
- Language: Ruby
- Homepage:
- Size: 680 KB
- Stars: 4
- Watchers: 6
- Forks: 1
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
[](https://travis-ci.org/mumuki/mumuki-bibliotheca-api)
[](https://codeclimate.com/github/mumuki/mumuki-bibliotheca-api)
[](https://codeclimate.com/github/mumuki/mumuki-bibliotheca-api)
[](https://codeclimate.com/github/mumuki/mumuki-bibliotheca-api)
# Mumuki Bibliotheca API
> Storage and formatting API for guides
## About
Bibliotheca is a service for storing Mumuki content - Books, Topics and Guides. Its main persistent media is MongoDB, but it is also capable of importing and exporting guides from a Github repository. Features:
* REST API
* Importing and exporting to a Github repository
* Listing and upserting guides in JSON format
* Pemissions validation
* Optional changes notifications to Aheneum
## Preparing environment
### 1. Install essentials and base libraries
> First, we need to install some software: [PostgreSQL](https://www.postgresql.org) database, [RabbitMQ](https://www.rabbitmq.com/) queue, and some common Ruby on Rails native dependencies
```bash
sudo apt-get install autoconf curl git build-essential libssl-dev autoconf bison libreadline6 libreadline6-dev zlib1g zlib1g-dev postgresql libpq-dev rabbitmq-server
```
### 2. Install rbenv
> [rbenv](https://github.com/rbenv/rbenv) is a ruby versions manager, similar to rvm, nvm, and so on.
```bash
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc # or .bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bashrc # or .bash_profile
```
### 3. Install ruby
> Now we have rbenv installed, we can install ruby and [bundler](http://bundler.io/)
```bash
rbenv install 2.3.1
rbenv global 2.3.1
rbenv rehash
gem install bundler
```
### 4. Clone this repository
> Because, err... we need to clone this repostory before developing it :stuck_out_tongue:
```bash
git clone https://github.com/mumuki/mumuki-bibliotheca-api
cd mumuki-bibliotheca-api
```
### 5. Install and setup database
> We need to create a PostgreSQL role - AKA a user - who will be used by Laboratory to create and access the database
```bash
# create db user for linux users
sudo -u postgres psql <]
# import languages from http://thesaurus.mumuki.io
bundle exec rake languages:import
```
## Running Migrations
```bash
# migration_name is the name of the migration file in ./migrations/, without extension and the "migrate_" prefix
bundle exec rake db:migrate[]
```
## See also
[Bibliotheca Web Client](https://github.com/mumuki/mumuki-bibliotheca)
## Authentication Powered by Auth0
