💬 Join the Jelly Community Slack
This is a Rails toy application that converts PDFs into XML/JSON with a collaborative editor with JSON, for science.
This app is pre-alpha, so please mind the cracks.
To get this app up and running locally, follow these steps:
- Follow the setup guide in the wiki to install
rbenv
,bundler
, andyarn
- Install
docker
anddocker-compose
from Brew or through Docker Desktop- Make sure to give Docker several GB of memory for the Grobid server
# 1. Install packages
bundle install
# 2. Set up database
bundle exec rails db:schema:load
# Start server on default port localhost:3000
bundle exec rails server
# If env vars need to be changed
DATABASE_URL=postgres://localhost:5432 DB_USER=postgres bundle exec rails server
To start all the services together (server, sidekiq, webpack, docker), you can use:
bin/start
To rebuild the docker environment (for example after changing the service configuration):
# Stop services
docker-compose down
# Pull to rerun init scripts
docker-compose pull
# Then follow startup steps again
- Start the services
- Go to http://localhost:3000/users/sign_up
- Create an account
- Look at Rails logs for confirmation email html
- Click confirmaton link
- Sign in
This app depends on Grobid running as a separate service, which you'll want to set a production env variable GROBID_HOST
.
To do so, you'll want to pull the docker image and start it on port 80.
docker pull lfoppiano/grobid:{version}
docker run -t --rm --init -p 80:8070 -p 8080:8080 lfoppiano/grobid:{version}
This app also depends on a Figures instance which you can set as FIGURE_HOST
.
You can start a guard session to watch file changes and run tests using:
bundle exec guard
Check out the wiki and issues to see the current status.
Running Migrations on GCE
bundle exec rake appengine:exec -- bundle exec rake db:create
Here are some of the things we will playing around with in this toy app, kind of like a list of to-do's.
- multiplayer RT-crdt based syncing
- render inline react components
- inline comments
- footnotes
- @ hyperlinks for posts, users, projects
- biblioglutton for automagically grabbing referenced citations
- lab note templates
- encryption
- activitypub / federation
- full data export
- offline
- mobile support
- gRPC/xml-rpc for code remote eval
- mobileDoc
The jellypbc project is dual-licensed under Apache 2.0 and MIT terms.