A Reader and Editor for Hypertext
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Alex Hunt 9fcc14c8e6 Improving interface for media uploads 4 years ago
.pytest_cache/v/cache Some cleaning and setting up pytest 5 years ago
blueprints Improving interface for media uploads 4 years ago
seed_data Bug fixes and tweaks 6 years ago
src Improving interface for media uploads 4 years ago
templates Refactoring input & toggle state 5 years ago
tests Fixed a search bug and added simple unit tests for the chapters API 5 years ago
.babelrc Fixed a search bug and added simple unit tests for the chapters API 5 years ago
.ebignore Testing webpack-dev-server 5 years ago
.gitignore Enabling deploy to ElasticBeanstalk 5 years ago
JoyceEditor_Mock.pdf Working on the editor UI. Needs some refactoring components and wire up api middleware. 6 years ago
README.md Adding to README 5 years ago
TODO.txt Refactoring setup script and creating refresh API route 5 years ago
application.py Refactoring setup script and creating refresh API route 5 years ago
jest.config.js Fixed a search bug and added simple unit tests for the chapters API 5 years ago
package.json Added ability to upload images to s3 and store them as part of ES object 4 years ago
pytest.ini Some cleaning and setting up pytest 5 years ago
requirements.txt Cleanup for AWS EB hosting 5 years ago
setup.py Refactored routing, broke some editor components 4 years ago
test_joyce.py Some cleaning and setting up pytest 5 years ago
v1requirements.txt Cleanup for AWS EB hosting 5 years ago
webpack.common.js Removing dependencies 5 years ago
webpack.dev.js Enabling reader options on mobile devices 5 years ago
webpack.prod.js Enabling reader options on mobile devices 5 years ago

README.md

Joyce

A Reader and Editor for Hypertext

Joyce is a web app for reading and annotating texts. It was designed to power The Joyce Project, a website to help introduce James Joyce's Ulysses to new readers with the full-text and detailed annotations.

Joyce uses Python and Flask for the backend, Elasticsearch for the datastore, and React and Bootstrap for the front end, bundled with Webpack. The text editor is built on DraftJS.

Setup

This assumes you have Node, npm, pip and optionall virtualenv installed.

Install Elasticsearch:

brew install elasticsearch

Joyce requires Python 2.7:

virtualenv -p /usr/bin/python2.7 joyce_flask

source bin/activate

Install the Python backend:

pip install -r requirements.txt

Install the Javascript frontend:

npm install

Setup the Elasticsearch indexes:

python setup.py

Run Locally

Start Elasticsearch:

elasticsearch

Start Webpack in watch mode:

npm run watch

Start Python application:

python application.py

You should now find Joyce running locally at:

localhost:5000