<img src=“https://travis-ci.org/indentlabs/notebook.png?branch=master” alt=“Build Status” /> <img src=“https://codeclimate.com/github/indentlabs/notebook/badges/gpa.svg” /> <img src=“https://codeclimate.com/github/indentlabs/notebook/badges/coverage.svg” /> <img src=“http://inch-ci.org/github/indentlabs/notebook.svg?branch=master” alt=“Inline docs” />
see live website
notebook is a set of tools for writers, game designers, and roleplayers to create magnificent universes – and everything within them.
From a simple interface in your browser, on your phone, or on your tablet, you can do everything you’d ever want to do while creating your own little (or big!) world.
notebook is a writer’s planning tool for creating anything from universes to characters, to plots, to individual items.
It is also meant to expand into many areas to benefit writers (and exciting to developers), including areas like:
-
Automated revision services
-
Structuring real-time natural language processing output into a semantically reusable state
-
Decision-making algorithms for improving reading comprehension, reading level, accent-correction, and other real-time writing suggestions
-
A knowledge graph of structured data in your universe, and an engine to manipulate it in awesome ways
-
Machine learning on generating character and location names, suggesting realistic defaults (random or not), and more
-
and tons more
If you are interested in helping out, check out the issue tracker. I’ve loaded it with tons of action-based, chunk-sized improvements that I think anyone familiar with Rails will be able to jump in and complete. Feel free to make suggestions, open issues, join discussions, or ask where you should look in the code to get started implementing something. :)
You’ll notice there are *a lot* of issues in *a lot* of milestones. Call it feature creep, but I’ve separated every potential idea for full-fledged services into milestones that can be worked on completely independently of others. The features are (for the most part) has no deadlines and are in development simultaneously, meaning if you see a feature you would really like to use, you can make that feature happen by jumping directly into it and completing its issues.
TL;DR Milestones are independent of each other – work on whatever you want to see made!
Install ruby 2.6.6 (using ‘rbenv`, `rvm`, any other Ruby version manager, or just plain ol’ ruby)
rbenv install 2.6.6
Install necessary libraries
sudo apt install imagemagick libmagickwand-dev sudo apt install libpq-dev
Clone the code
git clone git@github.com:indentlabs/notebook.git
Install gems
bundle install
Create database
rake db:create
Run initial database migrations
rake db:migrate rake billing_plans:initialize_defaults rake data_migrations:create_default_billing_plans rake db:seed
Finally, run the server with
bundle exec rails server
You should now see a copy of the site running locally at localhost:3000/!
You can also run background workers with sidekiq (and can run specific queues with the ‘-q <queue_name>` flag):
bundle exec sidekiq -C config/sidekiq.yml
-
install Docker
-
install Docker Compose
-
clone this git repo
-
cd into the root of this repo, and then run
docker-compose up
-
You should now see a copy of the site running locally at localhost:3000/
Deployment to the live production servers at www.Notebook.ai will only be done by approved developers, and consists of a deployment of
-
deploy github to staging (done only by approved developers)
-
mirror data from live into staging
-
run regression tests on staging environment
-
deploy from staging to live (viewed at notebook.ai)
Feel free to get in touch if you have any questions, comments, or concerns! :)
© Andrew Brown 2016