notebook.ai Tool for world building
Go to file
2021-08-27 01:24:06 -07:00
.github update ruby 2.7.3 -> 2.7.4 2021-07-18 01:33:33 -07:00
app better safety around using @current_user_content 2021-08-09 01:41:23 -07:00
bin merges from rails app:update 2021-08-27 00:17:33 -07:00
config merges from rails app:update 2021-08-27 00:17:33 -07:00
db yank another 6.1-ish migration from 5cfd58bbfb/activestorage/db/update_migrate/20190112182829_add_service_name_to_active_storage_blobs.rb 2021-08-27 01:09:30 -07:00
docs add example notification script 2021-07-05 11:51:14 -07:00
lib how could I forget this bad boi 2021-07-20 02:08:16 -07:00
log Merge resolution 2015-03-13 20:12:42 -05:00
public Update the theme_color value to match the header 2020-05-13 10:25:21 +08:00
script remove cucumber 2021-05-21 13:26:39 -07:00
spec remove factorybot 2021-05-21 13:35:55 -07:00
test downgrade d3-rails again since it crashes uglifier compilation 2021-07-18 01:17:49 -07:00
vendor/assets Optimize javascript load times 2016-11-02 23:41:00 -05:00
.browserslistrc install webpacker & react 2020-02-02 20:00:33 -06:00
.dockerignore remove travis 2021-05-24 16:00:25 -07:00
.editorconfig Create editorconfig file 2016-09-21 12:07:12 -05:00
.gitignore Merge branch 'master' into lore-page-types 2020-03-25 12:22:29 -05:00
.ruby-version update ruby 2.7.3 -> 2.7.4 2021-07-18 01:33:33 -07:00
app.json upgrade to heroku-20 stack on heroku 2021-07-18 09:44:59 -07:00
babel.config.js install webpacker & react 2020-02-02 20:00:33 -06:00
CHANGELOG.md Move all changelog info into GitHub Releases 2016-11-06 13:20:59 -06:00
config.ru Revert "test the removal of config.ru" 2019-12-14 17:30:14 -06:00
docker-compose.yml Add .dockerignore to reduce build context. 2020-10-06 16:53:17 +02:00
Dockerfile update ruby 2.7.3 -> 2.7.4 2021-07-18 01:33:33 -07:00
Gemfile helpful comment 2021-08-27 01:24:06 -07:00
Gemfile.lock Merge branch 'master' of github.com:indentlabs/notebook 2021-07-18 01:18:13 -07:00
LICENSE.rdoc Add MIT license 2016-09-30 18:53:56 +02:00
package.json update chokidar 2->3 2021-07-02 16:00:46 -07:00
postcss.config.js install webpacker & react 2020-02-02 20:00:33 -06:00
Procfile add new groups to procfile 2019-07-23 17:25:55 -05:00
Rakefile add devise secret 2016-04-07 01:14:04 -05:00
README.rdoc force heroku rebuild 2021-08-13 10:33:26 -07:00
yarn.lock update chokidar 2->3 2021-07-02 16:00:46 -07:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

= Notebook.ai
{<img src="https://codeclimate.com/github/indentlabs/notebook/badges/gpa.svg" />}[https://codeclimate.com/github/indentlabs/notebook]
{<img src="https://codeclimate.com/github/indentlabs/notebook/badges/coverage.svg" />}[https://codeclimate.com/github/indentlabs/notebook/coverage]
{<img src="http://inch-ci.org/github/indentlabs/notebook.svg?branch=master" alt="Inline docs" />}[http://inch-ci.org/github/indentlabs/notebook]

== What is Notebook.ai? 

see {live website}[http://notebook.ai/]

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


== The Issue Tracker

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!


== Installing the notebook development stack locally

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 http://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

== Running the notebook stack locally with Docker

Please note that the Docker installation is managed by the community, so it may not always be up to date. I recommend installing the stack manually.

- install {Docker}[https://www.docker.com/products/overview]
- install {Docker Compose}[https://docs.docker.com/compose/install]
- 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 http://localhost:3000/

== Testing

To run the tests, run `rails test` or `rails test path/to/test.rb`.

== Deployment to notebook.ai

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)


== Thanks

Feel free to get in touch if you have any questions, comments, or concerns! :)

(c) Andrew Brown 2016