├── .buildpacks
├── .gitignore
├── .ruby-gemset
├── .ruby-version
├── Dockerfile
├── Gemfile
├── Gemfile.lock
├── LICENSE.md
├── README.md
├── Rakefile
├── app
├── assets
│ ├── .js.coffee.cjsx
│ ├── fonts
│ │ └── .keep
│ ├── images
│ │ ├── .keep
│ │ ├── black-pixel-screen.png
│ │ ├── bullet.svg
│ │ ├── neh_logo.png
│ │ ├── nypllabs_logo.png
│ │ ├── scribe-logo-inv.png
│ │ ├── searchtool.svg
│ │ └── zooniverse_logo.png
│ ├── javascripts
│ │ ├── __tests__
│ │ │ ├── action-button-test.cjsx
│ │ │ ├── generic-tests.cjsx
│ │ │ ├── pick-one-test.cjsx
│ │ │ ├── preprocessor.js
│ │ │ └── text-tool-test.cjsx
│ │ ├── admin
│ │ │ ├── all.js.coffee
│ │ │ └── stats.js.coffee
│ │ ├── application.js.coffee
│ │ ├── components.js.coffee
│ │ ├── components
│ │ │ ├── action-button.cjsx
│ │ │ ├── app-router.cjsx
│ │ │ ├── app.cjsx
│ │ │ ├── appnew.cjsx
│ │ │ ├── appnewer.cjsx
│ │ │ ├── browser-warning.cjsx
│ │ │ ├── button
│ │ │ │ └── index.cjsx
│ │ │ ├── buttons
│ │ │ │ ├── bad-subject-button.cjsx
│ │ │ │ ├── delete-mark.cjsx
│ │ │ │ ├── done-button.cjsx
│ │ │ │ ├── generic-button.cjsx
│ │ │ │ ├── help-button.cjsx
│ │ │ │ ├── hide-other-marks-button.cjsx
│ │ │ │ ├── illegible-subject-button.cjsx
│ │ │ │ ├── labeled-radio-button.cjsx
│ │ │ │ ├── next-button.cjsx
│ │ │ │ └── small-button.cjsx
│ │ │ ├── core-tools
│ │ │ │ ├── generic.cjsx
│ │ │ │ ├── index.cjsx
│ │ │ │ ├── pick-many.cjsx
│ │ │ │ ├── pick-one-dropdown.cjsx
│ │ │ │ ├── pick-one-mark-one.cjsx
│ │ │ │ ├── pick-one.cjsx
│ │ │ │ └── transcribe.cjsx
│ │ │ ├── draggable-modal.cjsx
│ │ │ ├── favourite_button.cjsx
│ │ │ ├── forum-connectors
│ │ │ │ ├── discourse-connector.cjsx
│ │ │ │ ├── index.cjsx
│ │ │ │ └── talk-connector.cjsx
│ │ │ ├── forum-subject-widget.cjsx
│ │ │ ├── group-browser.cjsx
│ │ │ ├── group-page.cjsx
│ │ │ ├── help-modal.cjsx
│ │ │ ├── home-page.cjsx
│ │ │ ├── light-box.cjsx
│ │ │ ├── loading-indicator.cjsx
│ │ │ ├── login.cjsx
│ │ │ ├── mark-button.cjsx
│ │ │ ├── mark
│ │ │ │ ├── index.cjsx
│ │ │ │ └── tools
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── point-tool
│ │ │ │ │ ├── delete-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ └── root.cjsx
│ │ │ │ │ ├── rectangle-tool
│ │ │ │ │ ├── delete-button.cjsx
│ │ │ │ │ ├── drag-handle.cjsx
│ │ │ │ │ └── index.cjsx
│ │ │ │ │ └── text-row-tool
│ │ │ │ │ ├── delete-button.cjsx
│ │ │ │ │ ├── drag-handle.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ └── root.cjsx
│ │ │ ├── name-search.cjsx
│ │ │ ├── row-focus-tool.cjsx
│ │ │ ├── subject-metadata.cjsx
│ │ │ ├── subject-set-toolbar.cjsx
│ │ │ ├── subject-set-viewer.cjsx
│ │ │ ├── subject-viewer.cjsx
│ │ │ ├── subject-zoom-pan.cjsx
│ │ │ ├── svg-image.cjsx
│ │ │ ├── transcribe
│ │ │ │ ├── index.cjsx
│ │ │ │ ├── input-components
│ │ │ │ │ ├── date-field.cjsx
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── test-component.cjsx
│ │ │ │ │ ├── text-area-field.cjsx
│ │ │ │ │ └── text-field.cjsx
│ │ │ │ └── tools
│ │ │ │ │ ├── composite-tool
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── next-button.cjsx
│ │ │ │ │ └── prev-button.cjsx
│ │ │ │ │ ├── date-tool
│ │ │ │ │ └── index.cjsx
│ │ │ │ │ ├── generic.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── number-tool
│ │ │ │ │ └── index.cjsx
│ │ │ │ │ ├── single-tool
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── next-button.cjsx
│ │ │ │ │ ├── prev-button.cjsx
│ │ │ │ │ └── transcribe-input.cjsx
│ │ │ │ │ ├── text-area-tool
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── index_old.cjsx
│ │ │ │ │ ├── next-button.cjsx
│ │ │ │ │ ├── prev-button.cjsx
│ │ │ │ │ └── transcribe-input.cjsx
│ │ │ │ │ ├── text-tool
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── next-button.cjsx
│ │ │ │ │ ├── prev-button.cjsx
│ │ │ │ │ └── transcribe-input.cjsx
│ │ │ │ │ └── transcribe-row-tool
│ │ │ │ │ ├── done-button.cjsx
│ │ │ │ │ ├── index.cjsx
│ │ │ │ │ ├── next-button.cjsx
│ │ │ │ │ ├── prev-button.cjsx
│ │ │ │ │ └── transcribe-input.cjsx
│ │ │ ├── tutorial.cjsx
│ │ │ └── verify
│ │ │ │ ├── index.cjsx
│ │ │ │ └── tools
│ │ │ │ ├── index.cjsx
│ │ │ │ └── verify-tool
│ │ │ │ ├── done-button.cjsx
│ │ │ │ ├── index.cjsx
│ │ │ │ ├── next-button.cjsx
│ │ │ │ ├── prev-button.cjsx
│ │ │ │ └── transcribe-input.cjsx
│ │ ├── lib
│ │ │ ├── api.cjsx
│ │ │ ├── d3.min.js
│ │ │ ├── draggable.cjsx
│ │ │ ├── example_subject.json
│ │ │ ├── fetch-subject-sets-mixin.cjsx
│ │ │ ├── fetch-subjects-mixin.cjsx
│ │ │ ├── getUrlParamByName.cjsx
│ │ │ ├── jquery-ui.min.js
│ │ │ ├── jquery.extensions.coffee
│ │ │ ├── jquery.mousewheel.min.js
│ │ │ ├── mark-button-mixin.cjsx
│ │ │ ├── mark-drawing-mixin.cjsx
│ │ │ ├── marked.min.js
│ │ │ ├── modernizr-custom.js
│ │ │ ├── moment.min.js
│ │ │ ├── mouse-handler.cjsx
│ │ │ ├── proto.coffee
│ │ │ ├── workflow-methods-mixin.cjsx
│ │ │ └── zoom-pan-listener-methods.cjsx
│ │ ├── models
│ │ │ ├── classification.coffee
│ │ │ └── project.coffee
│ │ └── partials
│ │ │ ├── footer.cjsx
│ │ │ ├── main-header.cjsx
│ │ │ └── zooniverse-logo.cjsx
│ └── stylesheets
│ │ ├── about.styl
│ │ ├── accordian.styl
│ │ ├── admin
│ │ ├── all.styl
│ │ ├── browse.styl
│ │ └── dashboard.styl
│ │ ├── application.styl
│ │ ├── buttons.styl
│ │ ├── classify.styl
│ │ ├── common.styl
│ │ ├── components
│ │ ├── mark
│ │ │ ├── point-tool.styl
│ │ │ ├── rectangle-tool.styl
│ │ │ └── text-row-tool.styl
│ │ └── transcribe
│ │ │ └── transcribe-tool.styl
│ │ ├── flexbox.styl
│ │ ├── forum-subject-widget.styl
│ │ ├── group-browser.styl
│ │ ├── groups.styl
│ │ ├── home-page.styl
│ │ ├── jquery-ui.min.css
│ │ ├── light-box.styl
│ │ ├── loading-indicator.styl
│ │ ├── main-header.styl
│ │ ├── mixins
│ │ └── gradients.styl
│ │ ├── name-search.styl
│ │ ├── panoptes-common.styl
│ │ ├── subject-metadata.styl
│ │ ├── subject-set-toolbar.styl
│ │ ├── subject-set-viewer.styl
│ │ ├── subject-viewer.styl
│ │ ├── subject-zoom-pan.styl
│ │ ├── tutorial.styl
│ │ └── verify-tool.styl
├── controllers
│ ├── admin
│ │ ├── admin_base_controller.rb
│ │ ├── auth_controller.rb
│ │ ├── classifications_controller.rb
│ │ ├── dashboard_controller.rb
│ │ ├── data_controller.rb
│ │ ├── subject_sets_controller.rb
│ │ ├── subjects_controller.rb
│ │ └── users_controller.rb
│ ├── application_controller.rb
│ ├── classifications_controller.rb
│ ├── concerns
│ │ └── .keep
│ ├── favourites_controller.rb
│ ├── groups_controller.rb
│ ├── home_controller.rb
│ ├── omniauth_callbacks_controller.rb
│ ├── projects_controller.rb
│ ├── registrations_controller.rb
│ ├── sessions_controller.rb
│ ├── subject_sets_controller.rb
│ ├── subjects_controller.rb
│ ├── users_controller.rb
│ └── workflow_controller.rb
├── helpers
│ ├── admin_helper.rb
│ ├── application_helper.rb
│ └── home_helper.rb
├── mailers
│ └── .keep
├── models
│ ├── .keep
│ ├── classification.rb
│ ├── concerns
│ │ ├── .keep
│ │ ├── cached_stats.rb
│ │ └── randomizer.rb
│ ├── favourite.rb
│ ├── group.rb
│ ├── project.rb
│ ├── subject.rb
│ ├── subject_generation_method.rb
│ ├── subject_generation_methods
│ │ ├── collect_unique.rb
│ │ ├── most_popular.rb
│ │ └── one_per_classification.rb
│ ├── subject_set.rb
│ ├── term.rb
│ ├── user.rb
│ ├── workflow.rb
│ └── workflow_task.rb
├── serializers
│ ├── auth_state_serializer.rb
│ ├── classification_serializer.rb
│ ├── complete_subject_serializer.rb
│ ├── complete_subjects_serializer.rb
│ ├── favourite_serializer.rb
│ ├── final_classification_serializer.rb
│ ├── final_data_serializer.rb
│ ├── final_data_subject_serializer.rb
│ ├── final_data_subject_set_serializer.rb
│ ├── group_result_serializer.rb
│ ├── group_serializer.rb
│ ├── project_serializer.rb
│ ├── subject_result_serializer.rb
│ ├── subject_serializer.rb
│ ├── subject_set_result_serializer.rb
│ ├── subject_set_serializer.rb
│ ├── user_serializer.rb
│ ├── workflow_serializer.rb
│ └── workflow_task_serializer.rb
└── views
│ ├── admin
│ ├── auth
│ │ └── signin.html.erb
│ ├── classifications
│ │ ├── index.html.erb
│ │ └── show.html.erb
│ ├── dashboard
│ │ ├── ancestory.html.erb
│ │ └── index.html.erb
│ ├── data
│ │ └── index.html.erb
│ ├── partials
│ │ └── _head.html.erb
│ ├── subject_sets
│ │ ├── index.html.erb
│ │ └── show.html.erb
│ ├── subjects
│ │ ├── index.html.erb
│ │ └── show.html.erb
│ └── users
│ │ ├── index.html.erb
│ │ └── show.html.erb
│ ├── devise
│ ├── registrations
│ │ ├── edit.html.erb
│ │ └── new.html.erb
│ └── shared
│ │ └── _links.html.erb
│ ├── home
│ └── index.html.erb
│ ├── layouts
│ ├── _navigation_links.html.erb
│ ├── admin.html.erb
│ └── application.html.erb
│ ├── partials
│ ├── _breadcrumb.html.erb
│ ├── _classification_breadcrumb.html.erb
│ ├── _data_hash.html.erb
│ ├── _subject_breadcrumb.html.erb
│ └── _subject_hierarchy.html.erb
│ └── users
│ ├── index.html.erb
│ └── show.html.erb
├── bin
├── bundle
├── rails
└── rake
├── config.ru
├── config
├── application.rb
├── boot.rb
├── cucumber.yml
├── environment.rb
├── environments
│ ├── development.rb
│ ├── production.rb
│ └── test.rb
├── initializers
│ ├── backtrace_silencers.rb
│ ├── devise.rb
│ ├── filter_parameter_logging.rb
│ ├── fix_ssl.rb
│ ├── inflections.rb
│ ├── mime_types.rb
│ ├── mongoid_serializer.rb
│ ├── register_auth_options.rb
│ ├── register_project_static_routes.rb
│ ├── secret_token.rb
│ ├── serializers.rb
│ ├── session_store.rb
│ ├── streaming_proxy.rb
│ └── wrap_parameters.rb
├── locales
│ ├── devise.en.yml
│ └── en.yml
├── login_providers.yml.erb
├── mongoid.yml
├── mongoid_old.yml
└── routes.rb
├── db
└── seeds.rb
├── docker-compose.yml
├── features
├── step_definitions
│ ├── email_steps.rb
│ └── user_steps.rb
├── support
│ ├── email_spec.rb
│ ├── env.rb
│ └── paths.rb
└── users
│ ├── sign_in.feature
│ ├── sign_out.feature
│ ├── sign_up.feature
│ ├── user_edit.feature
│ └── user_show.feature
├── lib
├── assets
│ └── .keep
├── ca-bundle.crt
└── tasks
│ ├── .keep
│ ├── cucumber.rake
│ ├── project.rake
│ └── subjects.rake
├── package.json
├── procfile
├── project
├── anzac
│ ├── assets
│ │ ├── css
│ │ │ └── styles.css
│ │ ├── images
│ │ │ ├── 1_part_att_q.gif
│ │ │ ├── att_chest_mesurement.gif
│ │ │ ├── att_hearing.gif
│ │ │ ├── att_height.gif
│ │ │ ├── att_sight.gif
│ │ │ ├── background.png
│ │ │ ├── hs_example_marking.gif
│ │ │ ├── hs_mark_help.gif
│ │ │ ├── hs_transfer_ex.gif
│ │ │ ├── hs_transfer_row.gif
│ │ │ ├── logo.png
│ │ │ ├── logo.svg
│ │ │ └── sa_att_ex.jpeg
│ │ └── js
│ │ │ └── custom.js
│ ├── content
│ │ ├── about.html.erb
│ │ ├── field_guide.html.erb
│ │ ├── help
│ │ │ ├── att_hearing.md
│ │ │ ├── att_q_help.md
│ │ │ ├── att_sight.md
│ │ │ ├── autocomplete_q_help.md
│ │ │ ├── basic_transcribe_help.md
│ │ │ ├── explore.md
│ │ │ ├── help_mark_other.md
│ │ │ ├── help_sticky_note.md
│ │ │ ├── hs_help_last_fields.md
│ │ │ ├── hs_mark_help.md
│ │ │ ├── hs_transfer_help
│ │ │ ├── hs_transfer_help.md
│ │ │ ├── learn_marking.md
│ │ │ ├── learn_transcribing.md
│ │ │ ├── mark_att_two_part.md
│ │ │ ├── mark_or_transcribe.md
│ │ │ ├── one_slide_tutorial.md
│ │ │ ├── pick_page_type.md
│ │ │ ├── transcribe_while_mark.md
│ │ │ └── welcome.md
│ │ └── home.html.erb
│ ├── images
│ │ ├── 1_part_att_q.gif
│ │ ├── att_chest_mesurement.gif
│ │ ├── att_hearing.gif
│ │ ├── att_height.gif
│ │ ├── att_sight.gif
│ │ ├── background.png
│ │ ├── hs_mark_help.gif
│ │ ├── hs_transfer_row.gif
│ │ ├── logo.png
│ │ ├── logo.svg
│ │ └── sa_att_ex.jpeg
│ ├── project.json
│ ├── subjects
│ │ ├── group_individual_files.csv
│ │ └── groups.csv
│ ├── tutorial
│ │ └── tutorial.json
│ └── workflows
│ │ ├── mark.json
│ │ └── transcribe.json
├── emigrant
│ ├── assets
│ │ ├── background.jpg
│ │ ├── css
│ │ │ └── styles.css
│ │ ├── fonts
│ │ │ ├── KievitWeb-Book.eot
│ │ │ ├── KievitWeb-Book.woff
│ │ │ ├── KievitWeb-Medi.eot
│ │ │ └── KievitWeb-Medi.woff
│ │ ├── hero.jpg
│ │ ├── images
│ │ │ ├── background.jpg
│ │ │ ├── favicon.ico
│ │ │ ├── hero.jpg
│ │ │ ├── logo.png
│ │ │ ├── logo.svg
│ │ │ ├── m_address_1.png
│ │ │ ├── m_address_2.png
│ │ │ ├── m_address_3.png
│ │ │ ├── m_address_4.png
│ │ │ ├── m_date_1.png
│ │ │ ├── m_date_2.png
│ │ │ ├── m_date_3.png
│ │ │ ├── m_date_4.png
│ │ │ ├── m_loan_1.png
│ │ │ ├── m_loan_2.png
│ │ │ ├── m_loan_3.png
│ │ │ ├── m_loan_4.png
│ │ │ ├── m_mortgager_1.png
│ │ │ ├── m_mortgager_2.png
│ │ │ ├── m_mortgager_3.png
│ │ │ ├── m_mortgager_4.png
│ │ │ ├── m_number_1.png
│ │ │ ├── m_number_2.png
│ │ │ ├── m_survey_1.png
│ │ │ ├── m_survey_2.png
│ │ │ ├── m_survey_3.png
│ │ │ ├── m_survey_4.png
│ │ │ ├── m_value_1.png
│ │ │ ├── m_value_2.png
│ │ │ ├── m_value_3.png
│ │ │ ├── m_value_4.png
│ │ │ ├── mark_task.mp4
│ │ │ ├── mark_task2.mp4
│ │ │ ├── nypl-logo.svg
│ │ │ ├── t_address_1.png
│ │ │ ├── t_address_2.png
│ │ │ ├── t_address_3.png
│ │ │ ├── t_address_4.png
│ │ │ ├── t_date_1.png
│ │ │ ├── t_date_2.png
│ │ │ ├── t_date_3.png
│ │ │ ├── t_date_4.png
│ │ │ ├── t_loan_1.png
│ │ │ ├── t_loan_2.png
│ │ │ ├── t_loan_3.png
│ │ │ ├── t_loan_4.png
│ │ │ ├── t_mortgager_1.png
│ │ │ ├── t_mortgager_2.png
│ │ │ ├── t_mortgager_3.png
│ │ │ ├── t_mortgager_4.png
│ │ │ ├── t_number_1.png
│ │ │ ├── t_number_2.png
│ │ │ ├── t_survey_1.png
│ │ │ ├── t_survey_2.png
│ │ │ ├── t_survey_3.png
│ │ │ ├── t_survey_4.png
│ │ │ ├── t_value_1.png
│ │ │ ├── t_value_2.png
│ │ │ ├── t_value_3.png
│ │ │ ├── t_value_4.png
│ │ │ ├── transcribe_task.mp4
│ │ │ └── verify_task.mp4
│ │ └── js
│ │ │ └── custom.js
│ ├── content
│ │ ├── about.html.erb
│ │ ├── data.html.erb
│ │ ├── help
│ │ │ ├── learn_marking.md
│ │ │ ├── learn_transcribing.md
│ │ │ ├── learn_verifying.md
│ │ │ ├── m_record_amount_loaned.md
│ │ │ ├── m_record_date.md
│ │ │ ├── m_record_material.md
│ │ │ ├── m_record_mortgager.md
│ │ │ ├── m_record_number.md
│ │ │ ├── m_record_stories.md
│ │ │ ├── m_record_street_address.md
│ │ │ ├── m_record_survey.md
│ │ │ ├── m_record_valuation.md
│ │ │ ├── m_record_valuation_date.md
│ │ │ ├── mark_primary.md
│ │ │ ├── t_record_additional_info.md
│ │ │ ├── t_record_amount_loaned.md
│ │ │ ├── t_record_date.md
│ │ │ ├── t_record_mortgager.md
│ │ │ ├── t_record_number.md
│ │ │ ├── t_record_street_address.md
│ │ │ ├── t_record_survey_stories_materials.md
│ │ │ ├── t_record_valuation.md
│ │ │ ├── t_survey.md
│ │ │ ├── tutorial_mark_1.md
│ │ │ ├── tutorial_mark_2.md
│ │ │ ├── tutorial_mark_3.md
│ │ │ ├── tutorial_mark_4.md
│ │ │ ├── tutorial_mark_5.md
│ │ │ ├── tutorial_transcribe_1.md
│ │ │ ├── tutorial_verify_1.md
│ │ │ ├── v_currency.md
│ │ │ ├── v_date.md
│ │ │ └── v_text.md
│ │ ├── home.html.erb
│ │ ├── intro.html.erb
│ │ └── partials
│ │ │ └── footer.html.erb
│ ├── project.json
│ ├── scripts
│ │ ├── query_subjects.rb
│ │ ├── split_subjects_four_ways.rb
│ │ └── split_subjects_vertically.rb
│ ├── subjects
│ │ ├── group_only_one_group.csv
│ │ ├── group_some_multi_page_subjects.csv
│ │ ├── groups.csv
│ │ └── subjects_from_api.csv
│ ├── tutorial
│ │ └── tutorial.json
│ └── workflows
│ │ ├── mark.json
│ │ ├── transcribe.json
│ │ └── verify.json
└── whale_tales
│ ├── assets
│ ├── css
│ │ └── styles.css
│ ├── images
│ │ ├── Clive_Wilkinson.jpg
│ │ ├── Gil_Compo.jpg
│ │ ├── Gordon_Smith.jpg
│ │ ├── Kevin_Wood.jpg
│ │ ├── Mark_Mollan.jpg
│ │ ├── Mark_Procknik.jpg
│ │ ├── Michael_Lapides.jpg
│ │ ├── Philip_Brohan.jpg
│ │ ├── Rob_Allan.JPG
│ │ ├── alfred_gibbs.jpg
│ │ ├── background.jpg
│ │ ├── background_cropped.jpg
│ │ ├── background_old.jpg
│ │ ├── california.jpg
│ │ ├── compass.jpg
│ │ ├── logo.svg
│ │ ├── phillipe.jpg
│ │ ├── placeholder_ship.jpg
│ │ └── whaling_logo.png
│ └── js
│ │ └── custom.js
│ ├── content
│ ├── about.html.erb
│ ├── help
│ │ ├── marking.md
│ │ ├── sea_ice_concentration.md
│ │ ├── sea_ice_special.md
│ │ ├── sea_ice_thickness.md
│ │ ├── start_exploring.md
│ │ ├── transcribing.md
│ │ ├── weather.md
│ │ └── welcome.md
│ ├── home.html.erb
│ └── team.html.erb
│ ├── project.json
│ ├── subjects
│ ├── group_beluga.csv
│ ├── group_betsey_williams.csv
│ ├── group_congress.csv
│ ├── group_congress_short.csv
│ ├── group_eliza_adams.csv
│ ├── group_grampus_1.csv
│ ├── group_grampus_2.csv
│ ├── group_helen_snow.csv
│ ├── group_herman_1.csv
│ ├── group_herman_2.csv
│ ├── group_horatio.csv
│ ├── group_john_wells.csv
│ ├── group_mary_hume.csv
│ ├── group_milo.csv
│ ├── group_newport.csv
│ ├── group_progress.csv
│ ├── group_rosario.csv
│ ├── group_saratoga.csv
│ ├── group_seneca.csv
│ ├── group_trident.csv
│ ├── group_william_baylies_1.csv
│ ├── group_william_baylies_2.csv
│ ├── group_william_baylies_3.csv
│ ├── groups.csv
│ ├── groups1.csv
│ ├── groups2.csv
│ └── groups_short.csv
│ ├── tutorial
│ └── tutorial.json
│ └── workflows
│ ├── mark.json
│ └── transcribe.json
├── public
├── 404.html
├── 422.html
├── 500.html
├── black-pixel-screen.png
├── fake-transcription-subject-sets.json
├── fake-transcription-subjects.json
├── favicon.ico
├── humans.txt
├── offline
│ ├── example_subjects
│ │ ├── logbookofalfredg1851unse_0083.jpg
│ │ ├── marking_subjects.json
│ │ └── transcription_subjects.json
│ └── subjects.json
├── oldweather
│ ├── alfred_gibbs.jpg
│ ├── california.jpg
│ └── phillipe.jpg
└── robots.txt
├── script
└── cucumber
├── spec
├── controllers
│ ├── home_controller_spec.rb
│ └── users_controller_spec.rb
├── factories
│ └── users.rb
├── models
│ ├── classification_spec.rb
│ ├── favourite_spec.rb
│ ├── subject_set_spec.rb
│ ├── subject_spec.rb
│ ├── user_spec.rb
│ └── workflow_spec.rb
├── spec_helper.rb
└── support
│ ├── devise.rb
│ └── mongoid.rb
├── start.sh
└── vendor
└── assets
├── javascripts
└── .keep
└── stylesheets
└── .keep
/.buildpacks:
--------------------------------------------------------------------------------
1 | https://github.com/heroku/heroku-buildpack-nodejs.git
2 | https://github.com/heroku/heroku-buildpack-ruby.git
3 |
--------------------------------------------------------------------------------
/.ruby-gemset:
--------------------------------------------------------------------------------
1 | scribe
2 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | ruby-2.1.5
2 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM zooniverse/ruby:2.1.5
2 |
3 | ENV DEBIAN_FRONTEND noninteractive
4 |
5 | RUN apt-get update && apt-get upgrade -y && \
6 | apt-get install -y git nodejs npm coffeescript && \
7 | ln -s /usr/bin/nodejs /usr/local/bin/node
8 |
9 | ADD . /src/
10 |
11 | WORKDIR /src/
12 |
13 | RUN bundle install
14 |
15 | RUN npm install
16 |
17 | EXPOSE 80
18 |
19 | ENTRYPOINT ["/src/start.sh"]
20 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Zooniverse and New York Public Library
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | # Add your own tasks in files placed in lib/tasks ending in .rake,
2 | # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3 |
4 | require File.expand_path('../config/application', __FILE__)
5 |
6 | API::Application.load_tasks
7 |
--------------------------------------------------------------------------------
/app/assets/.js.coffee.cjsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/.js.coffee.cjsx
--------------------------------------------------------------------------------
/app/assets/fonts/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/fonts/.keep
--------------------------------------------------------------------------------
/app/assets/images/.keep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/.keep
--------------------------------------------------------------------------------
/app/assets/images/black-pixel-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/black-pixel-screen.png
--------------------------------------------------------------------------------
/app/assets/images/bullet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/images/neh_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/neh_logo.png
--------------------------------------------------------------------------------
/app/assets/images/nypllabs_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/nypllabs_logo.png
--------------------------------------------------------------------------------
/app/assets/images/scribe-logo-inv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/scribe-logo-inv.png
--------------------------------------------------------------------------------
/app/assets/images/searchtool.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/assets/images/zooniverse_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/app/assets/images/zooniverse_logo.png
--------------------------------------------------------------------------------
/app/assets/javascripts/__tests__/action-button-test.cjsx:
--------------------------------------------------------------------------------
1 | jest
2 | .dontMock '../components/action-button'
3 |
4 | describe 'ActionButton', ->
5 | React = require 'react/addons'
6 | {renderIntoDocument, Simulate} = React.addons.TestUtils
7 |
8 | ActionButton = require '../components/action-button'
9 |
10 | it 'should grab the action-button code', ->
11 | expect(ActionButton).toBeTruthy()
12 |
13 | actionButton = renderIntoDocument(
27 | 30 |
} 31 |Sign In.
6 | 7 |6 | | Status | 7 |Classification Count | 8 |Secondary Subject | 9 |Child_Subjects | 10 |Retire Count | 11 |
---|---|---|---|---|---|
|
16 | <%= subject.status %> | 17 |<%= subject.classification_count %> | 18 |<%= subject.secondary_subject_count %> | 19 |20 | <% if ! subject.child_subjects.empty? %> 21 | <% subject.child_subjects.each do |child| %> 22 | <%= child.type %> 23 | <% end %> 24 | <% end %> 25 | | <%= subject.retire_count %> | 26 |
6 | | Status | 7 |Classification Count | 8 |Secondary Subject | 9 |Child_Subjects | 10 |Retire Count | 11 |
---|---|---|---|---|---|
|
16 | <%= subject.status %> | 17 |<%= subject.classification_count %> | 18 |<%= subject.secondary_subject_count %> | 19 |20 | <% if ! subject.child_subjects.empty? %> 21 | <% subject.child_subjects.each do |child| %> 22 | <%= child.type %> 23 | <% end %> 24 | <% end %> 25 | | <%= subject.retire_count %> | 26 |
8 | | Status | 9 |Pages | 10 |Secondary Subjects | 11 |
---|---|---|---|
<%= link_to admin_subject_set_path(set) do %> |
16 | <%= link_to admin_subject_set_path(set) do %><%= set.state %><% end %> | 17 |<%= set.subjects.root.count %> | 18 |<%= set.active_secondary_subject_count %> | 19 |
6 | | Status | 7 |Classifications | 8 |2nd Subjects | 9 |Retire Count | 10 |Bad Count | 11 |
---|---|---|---|---|---|
<%= link_to admin_subject_path(subject) do %> |
16 | <%= link_to admin_subject_path(subject) do %><%= subject.status %><% end %> | 17 |<%= subject.classification_count %> | 18 |
19 | <%= subject.secondary_subject_count %>
20 |
| <%= subject.retire_count %> | 32 |<%= subject.flagged_bad_count %> | 33 |
8 | | Name | 9 |Classifications | 11 |Provider | 12 |Role | 13 ||
---|---|---|---|---|---|
<% if current_user.admin? && user.avatar %>
18 | <%= link_to admin_user_path(user) do %> |
19 | <% end %>
20 |
21 | <%= link_to admin_obf(user.name), admin_user_path(user) %> | 22 |<%= link_to admin_obf(user.email), admin_user_path(user) %> | 23 |<%= link_to user.classifications.count, admin_user_path(user) %> | 24 |<% if user.provider %><%= link_to user.provider, admin_user_path(user) %><% end %> | 25 |<%= link_to user.role, admin_user_path(user) %> | 26 |
<%= f.label :name %>
6 | <%= f.text_field :name %>
Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.
26 | 27 | <%= link_to "Back", :back %> 28 | -------------------------------------------------------------------------------- /app/views/devise/registrations/new.html.erb: -------------------------------------------------------------------------------- 1 |<%= f.label :name %>
6 | <%= f.text_field :name %>
User: <%= @user.name %>
3 |Email: <%= @user.email if @user.email %>
4 | -------------------------------------------------------------------------------- /bin/bundle: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) 3 | load Gem.bin_path('bundler', 'bundle') 4 | -------------------------------------------------------------------------------- /bin/rails: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | APP_PATH = File.expand_path('../../config/application', __FILE__) 3 | require_relative '../config/boot' 4 | require 'rails/commands' 5 | -------------------------------------------------------------------------------- /bin/rake: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | require_relative '../config/boot' 3 | require 'rake' 4 | Rake.application.run 5 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | # This file is used by Rack-based servers to start the application. 2 | 3 | # PB: This works, but isn't very secure since it makes all project files public 4 | # Also it conflicts with existing /project route 5 | # use Rack::Static, :urls => ["/project"] 6 | # 7 | # Something like this *should* work and is preferable to above, but isn't working for some reason: 8 | # use Rack::Static, :urls => ["/projectassets"], :root => "project/emigrant/assets" 9 | 10 | require ::File.expand_path('../config/environment', __FILE__) 11 | 12 | run Rails.application 13 | -------------------------------------------------------------------------------- /config/boot.rb: -------------------------------------------------------------------------------- 1 | # Set up gems listed in the Gemfile. 2 | ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) 3 | 4 | require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE']) 5 | -------------------------------------------------------------------------------- /config/cucumber.yml: -------------------------------------------------------------------------------- 1 | <% 2 | rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : "" 3 | rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}" 4 | std_opts = "-r features/support/ -r features/step_definitions --format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip" 5 | %> 6 | default: <%= std_opts %> features 7 | wip: --tags @wip:3 --wip features 8 | rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip 9 | -------------------------------------------------------------------------------- /config/environment.rb: -------------------------------------------------------------------------------- 1 | # Load the Rails application. 2 | require File.expand_path('../application', __FILE__) 3 | 4 | # Initialize the Rails application. 5 | API::Application.initialize! 6 | -------------------------------------------------------------------------------- /config/initializers/backtrace_silencers.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. 4 | # Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } 5 | 6 | # You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. 7 | # Rails.backtrace_cleaner.remove_silencers! 8 | -------------------------------------------------------------------------------- /config/initializers/filter_parameter_logging.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Configure sensitive parameters which will be filtered from the log file. 4 | Rails.application.config.filter_parameters += [:password] 5 | -------------------------------------------------------------------------------- /config/initializers/fix_ssl.rb: -------------------------------------------------------------------------------- 1 | # PB: Added to address error returning from google oauth login 2 | # http://stackoverflow.com/questions/11703679/opensslsslsslerror-on-heroku/16983443#16983443 3 | 4 | require 'open-uri' 5 | require 'net/https' 6 | 7 | module Net 8 | class HTTP 9 | alias_method :original_use_ssl=, :use_ssl= 10 | 11 | def use_ssl=(flag) 12 | self.ca_file = Rails.root.join('lib/ca-bundle.crt').to_s 13 | self.verify_mode = OpenSSL::SSL::VERIFY_PEER 14 | self.original_use_ssl = flag 15 | end 16 | end 17 | end 18 | -------------------------------------------------------------------------------- /config/initializers/inflections.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Add new inflection rules using the following format. Inflections 4 | # are locale specific, and you may define rules for as many different 5 | # locales as you wish. All of these examples are active by default: 6 | # ActiveSupport::Inflector.inflections(:en) do |inflect| 7 | # inflect.plural /^(ox)$/i, '\1en' 8 | # inflect.singular /^(ox)en/i, '\1' 9 | # inflect.irregular 'person', 'people' 10 | # inflect.uncountable %w( fish sheep ) 11 | # end 12 | 13 | # These inflection rules are supported but not enabled by default: 14 | # ActiveSupport::Inflector.inflections(:en) do |inflect| 15 | # inflect.acronym 'RESTful' 16 | # end 17 | -------------------------------------------------------------------------------- /config/initializers/mime_types.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Add new mime types for use in respond_to blocks: 4 | # Mime::Type.register "text/richtext", :rtf 5 | # Mime::Type.register_alias "text/html", :iphone 6 | -------------------------------------------------------------------------------- /config/initializers/mongoid_serializer.rb: -------------------------------------------------------------------------------- 1 | Mongoid::Serializer.configure! -------------------------------------------------------------------------------- /config/initializers/register_auth_options.rb: -------------------------------------------------------------------------------- 1 | Rails.application.config.before_initialize do 2 | providers = YAML.load(ERB.new(File.read(Rails.root.join('config', 'login_providers.yml.erb'))).result)["providers"] 3 | 4 | provider_keys = [] 5 | providers.each do |k,v| 6 | if ! v['id'].blank? && ! v['secret'].blank? 7 | provider_keys << k 8 | end 9 | end 10 | 11 | API::Application.config.auth_providers = provider_keys 12 | puts "Init: OAUTH providers: #{API::Application.config.auth_providers}" 13 | end 14 | -------------------------------------------------------------------------------- /config/initializers/register_project_static_routes.rb: -------------------------------------------------------------------------------- 1 | API::Application.configure do 2 | if Project.current 3 | project_assets_path = "./project/#{Project.current.key}/assets" 4 | puts "Routing static assets from #{project_assets_path}" 5 | Rails.application.config.middleware.insert_after ActionDispatch::Static, ActionDispatch::Static, project_assets_path 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /config/initializers/secret_token.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # Your secret key is used for verifying the integrity of signed cookies. 4 | # If you change this key, all old signed cookies will become invalid! 5 | 6 | # Make sure the secret is at least 30 characters and all random, 7 | # no regular words or you'll be exposed to dictionary attacks. 8 | # You can use `rake secret` to generate a secure secret key. 9 | 10 | # Make sure your secret_key_base is kept private 11 | # if you're sharing your code publicly. 12 | API::Application.config.secret_key_base = ENV['SECRET_KEY_BASE_TOKEN'] -------------------------------------------------------------------------------- /config/initializers/serializers.rb: -------------------------------------------------------------------------------- 1 | ActiveModel::Serializer.root = false 2 | ActiveModel::ArraySerializer.root = false -------------------------------------------------------------------------------- /config/initializers/session_store.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | API::Application.config.session_store :cookie_store, key: '_API_session' 4 | -------------------------------------------------------------------------------- /config/initializers/streaming_proxy.rb: -------------------------------------------------------------------------------- 1 | require 'rack/streaming_proxy' 2 | 3 | API::Application.configure do 4 | config.streaming_proxy.logger = Rails.logger # stdout by default 5 | config.streaming_proxy.log_verbosity = Rails.env.production? ? :low : :high # :low or :high, :low by default 6 | config.streaming_proxy.num_retries_on_5xx = 5 # 0 by default 7 | config.streaming_proxy.raise_on_5xx = true # false by default 8 | 9 | # Will be inserted at the end of the middleware stack by default. 10 | config.middleware.use Rack::StreamingProxy::Proxy do |request| 11 | 12 | # Inside the request block, return the full URI to redirect the request to, 13 | # or nil/false if the request should continue on down the middleware stack. 14 | if request.path.start_with?('/proxy/forum') 15 | path = request.path.sub(/^\/proxy\/forum/,'') 16 | query = request.query_string 17 | base_url = Project.current.forum[:base_url] 18 | "#{base_url}#{path}?#{query}" 19 | end 20 | end 21 | end 22 | -------------------------------------------------------------------------------- /config/initializers/wrap_parameters.rb: -------------------------------------------------------------------------------- 1 | # Be sure to restart your server when you modify this file. 2 | 3 | # This file contains settings for ActionController::ParamsWrapper which 4 | # is enabled by default. 5 | 6 | # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. 7 | ActiveSupport.on_load(:action_controller) do 8 | wrap_parameters format: [:json] if respond_to?(:wrap_parameters) 9 | end 10 | -------------------------------------------------------------------------------- /config/locales/en.yml: -------------------------------------------------------------------------------- 1 | # Files in the config/locales directory are used for internationalization 2 | # and are automatically loaded by Rails. If you want to use locales other 3 | # than English, add the necessary files in this directory. 4 | # 5 | # To use the locales, use `I18n.t`: 6 | # 7 | # I18n.t 'hello' 8 | # 9 | # In views, this is aliased to just `t`: 10 | # 11 | # <%= t('hello') %> 12 | # 13 | # To use a different locale, set it with `I18n.locale`: 14 | # 15 | # I18n.locale = :es 16 | # 17 | # This would use the information in config/locales/es.yml. 18 | # 19 | # To learn more, please read the Rails Internationalization guide 20 | # available at http://guides.rubyonrails.org/i18n.html. 21 | 22 | en: 23 | hello: "Hello world" 24 | -------------------------------------------------------------------------------- /config/login_providers.yml.erb: -------------------------------------------------------------------------------- 1 | providers: 2 | facebook: 3 | id: <%=ENV["FACEBOOK_ID"]%> 4 | secret: <%=ENV["FACEBOOK_SECRET"]%> 5 | 6 | google: 7 | id: <%=ENV["GOOGLE_ID"]%> 8 | secret: <%=ENV["GOOGLE_SECRET"]%> 9 | 10 | zooniverse: 11 | id: <%=ENV["ZOONIVERSE_ID"]%> 12 | secret: <%=ENV["ZOONIVERSE_SECRET"]%> 13 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | mongodb: 2 | image: mongo:2.4 3 | 4 | anzac: 5 | build: . 6 | links: 7 | - mongodb:mongodb 8 | command: anzac 9 | ports: 10 | - 3000:80 11 | 12 | whale_tales: 13 | build: . 14 | links: 15 | - mongodb:mongodb 16 | command: whale_tales 17 | ports: 18 | - 3000:80 19 | 20 | emigrant: 21 | build: . 22 | links: 23 | - mongodb:mongodb 24 | command: emigrant 25 | ports: 26 | - 3000:80 27 | -------------------------------------------------------------------------------- /features/support/email_spec.rb: -------------------------------------------------------------------------------- 1 | require 'email_spec/cucumber' 2 | -------------------------------------------------------------------------------- /features/support/paths.rb: -------------------------------------------------------------------------------- 1 | module NavigationHelpers 2 | # Maps a name to a path. Used by the 3 | # 4 | # When /^I go to (.+)$/ do |page_name| 5 | # 6 | # step definition in web_steps.rb 7 | # 8 | def path_to(page_name) 9 | case page_name 10 | 11 | when /the home\s?page/ 12 | '/' 13 | 14 | when /the sign up page/ 15 | '/users/sign_up' 16 | 17 | when /the sign in page/ 18 | '/users/sign_in' 19 | 20 | # Add more mappings here. 21 | # Here is an example that pulls values out of the Regexp: 22 | # 23 | # when /^(.*)'s profile page$/i 24 | # user_profile_path(User.find_by_login($1)) 25 | 26 | else 27 | begin 28 | page_name =~ /the (.*) page/ 29 | path_components = $1.split(/\s+/) 30 | self.send(path_components.push('path').join('_').to_sym) 31 | rescue Object => e 32 | raise "Can't find mapping from \"#{page_name}\" to a path.\n" + 33 | "Now, go and add a mapping in #{__FILE__}" 34 | end 35 | end 36 | end 37 | end 38 | 39 | World(NavigationHelpers) 40 | -------------------------------------------------------------------------------- /features/users/sign_in.feature: -------------------------------------------------------------------------------- 1 | Feature: Sign in 2 | In order to get access to protected sections of the site 3 | A user 4 | Should be able to sign in 5 | 6 | Scenario: User is not signed up 7 | Given I do not exist as a user 8 | When I sign in with valid credentials 9 | Then I see an invalid login message 10 | And I should be signed out 11 | 12 | Scenario: User signs in successfully 13 | Given I exist as a user 14 | And I am not logged in 15 | When I sign in with valid credentials 16 | Then I see a successful sign in message 17 | When I return to the site 18 | Then I should be signed in 19 | 20 | Scenario: User enters wrong email 21 | Given I exist as a user 22 | And I am not logged in 23 | When I sign in with a wrong email 24 | Then I see an invalid login message 25 | And I should be signed out 26 | 27 | Scenario: User enters wrong password 28 | Given I exist as a user 29 | And I am not logged in 30 | When I sign in with a wrong password 31 | Then I see an invalid login message 32 | And I should be signed out 33 | 34 | -------------------------------------------------------------------------------- /features/users/sign_out.feature: -------------------------------------------------------------------------------- 1 | Feature: Sign out 2 | To protect my account from unauthorized access 3 | A signed in user 4 | Should be able to sign out 5 | 6 | Scenario: User signs out 7 | Given I am logged in 8 | When I sign out 9 | Then I should see a signed out message 10 | When I return to the site 11 | Then I should be signed out 12 | -------------------------------------------------------------------------------- /features/users/sign_up.feature: -------------------------------------------------------------------------------- 1 | Feature: Sign up 2 | In order to get access to protected sections of the site 3 | As a user 4 | I want to be able to sign up 5 | 6 | Background: 7 | Given I am not logged in 8 | 9 | Scenario: User signs up with valid data 10 | When I sign up with valid user data 11 | Then I should see a successful sign up message 12 | 13 | Scenario: User signs up with invalid email 14 | When I sign up with an invalid email 15 | Then I should see an invalid email message 16 | 17 | Scenario: User signs up without password 18 | When I sign up without a password 19 | Then I should see a missing password message 20 | 21 | Scenario: User signs up without password confirmation 22 | When I sign up without a password confirmation 23 | Then I should see a missing password confirmation message 24 | 25 | Scenario: User signs up with mismatched password and confirmation 26 | When I sign up with a mismatched password confirmation 27 | Then I should see a mismatched password message 28 | -------------------------------------------------------------------------------- /features/users/user_edit.feature: -------------------------------------------------------------------------------- 1 | Feature: Edit User 2 | As a registered user of the website 3 | I want to edit my user profile 4 | so I can change my username 5 | 6 | Scenario: I sign in and edit my account 7 | Given I am logged in 8 | When I edit my account details 9 | Then I should see an account edited message 10 | -------------------------------------------------------------------------------- /features/users/user_show.feature: -------------------------------------------------------------------------------- 1 | Feature: Show Users 2 | As a visitor to the website 3 | I want to see registered users listed on the homepage 4 | so I can know if the site has users 5 | 6 | Scenario: Viewing users 7 | Given I exist as a user 8 | When I look at the list of users 9 | Then I should see my name 10 | -------------------------------------------------------------------------------- /lib/assets/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/lib/assets/.keep -------------------------------------------------------------------------------- /lib/tasks/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/lib/tasks/.keep -------------------------------------------------------------------------------- /procfile: -------------------------------------------------------------------------------- 1 | web: bundle exec rails server 2 | -------------------------------------------------------------------------------- /project/anzac/assets/images/1_part_att_q.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/1_part_att_q.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/att_chest_mesurement.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/att_chest_mesurement.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/att_hearing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/att_hearing.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/att_height.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/att_height.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/att_sight.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/att_sight.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/background.png -------------------------------------------------------------------------------- /project/anzac/assets/images/hs_example_marking.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/hs_example_marking.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/hs_mark_help.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/hs_mark_help.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/hs_transfer_ex.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/hs_transfer_ex.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/hs_transfer_row.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/hs_transfer_row.gif -------------------------------------------------------------------------------- /project/anzac/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/logo.png -------------------------------------------------------------------------------- /project/anzac/assets/images/sa_att_ex.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/assets/images/sa_att_ex.jpeg -------------------------------------------------------------------------------- /project/anzac/assets/js/custom.js: -------------------------------------------------------------------------------- 1 | (function(a){var e={kitId:"iuk1miw",scriptTimeout:3E3,async:!0},c=a.documentElement,g=setTimeout(function(){c.className=c.className.replace(/\bwf-loading\b/g,"")+" wf-inactive"},e.scriptTimeout),b=a.createElement("script"),f=!1;a=a.getElementsByTagName("script")[0];var d;c.className+=" wf-loading";b.src="//use.typekit.net/"+e.kitId+".js";b.async=!0;b.onload=b.onreadyst;atechange=function(){d=this.readyState;if(!(f||d&&"complete"!=d&&"loaded"!=d)){f=!0;clearTimeout(g);try{Typekit.load(e)}catch(a){}}}; 2 | a.parentNode.insertBefore(b,a)})(document); -------------------------------------------------------------------------------- /project/anzac/content/help/att_hearing.md: -------------------------------------------------------------------------------- 1 | Capture both the left and right hearing values with the same rectangle. 2 | Often described as 'normal' or 'good'. 3 |  -------------------------------------------------------------------------------- /project/anzac/content/help/att_q_help.md: -------------------------------------------------------------------------------- 1 | **Header**: Although the number may be in a designated field, the number can appear anywhere in the header. 2 | 3 | **Questions**: When marking a question, mark both the question and the response with the same rectangle. 4 | 5 |  -------------------------------------------------------------------------------- /project/anzac/content/help/att_sight.md: -------------------------------------------------------------------------------- 1 | Capture both the left and right sight values with the same rectangle. 2 | The values are often specified as x/6 or x/20, 'normal' or 'good'. 3 |  -------------------------------------------------------------------------------- /project/anzac/content/help/autocomplete_q_help.md: -------------------------------------------------------------------------------- 1 | Please transcribe the highlighted region presented as best you can. 2 | 3 | First, transcribe the question in the highlighted box. You may be presented with an autocomplete suggestion for the question. If the suggestion matches the question on the form, select it. Otherwise, transcribe the question exactly how you see it. 4 | 5 | Second, transcribe the response to the question. There is no autocomplete option for this part of the transcription task. 6 | 7 | If a highlighted region is mislabeled or misplaced, press the **Bad mark** button. 8 | If you cannot read the subject, press the **Illegible** button. -------------------------------------------------------------------------------- /project/anzac/content/help/basic_transcribe_help.md: -------------------------------------------------------------------------------- 1 | Please transcribe the highlighted region as best you can. 2 | 3 | If the highlighted region is mislabeled or misplaced, press the **Bad mark** button. 4 | 5 | If you cannot read the text in the highlighted region, press the **Illegible** button. -------------------------------------------------------------------------------- /project/anzac/content/help/explore.md: -------------------------------------------------------------------------------- 1 | That’s all you need to know! You’re ready to start exploring Measuring the ANZACs. If you’d like to learn more about the project, you can visit the About page or the ANZACs blog. And if you have any more questions, or just want to chat about the project or share a cool document you’ve found, please join us on the ANZACs Talk. Thank you for your help! -------------------------------------------------------------------------------- /project/anzac/content/help/help_mark_other.md: -------------------------------------------------------------------------------- 1 | These sheets may contain unknown, but important, fields and marginalia. If you spot anything else that you would like to transcribe, use the "Other" label to mark the area for transcription. -------------------------------------------------------------------------------- /project/anzac/content/help/help_sticky_note.md: -------------------------------------------------------------------------------- 1 | Notes have been pasted on top of some of the documents. Documents with sticky notes have been scanned more than once so that the document can be captured with sticky note folded up and with the sticky note folded down. 2 | 3 | At this time, we are not asking volunteers to transcribe the information on the sticky notes. 4 |  5 | -------------------------------------------------------------------------------- /project/anzac/content/help/hs_help_last_fields.md: -------------------------------------------------------------------------------- 1 | These fields will often include details about location, cause, and date. Often you can find these fields at the bottom of a History Sheet. -------------------------------------------------------------------------------- /project/anzac/content/help/hs_mark_help.md: -------------------------------------------------------------------------------- 1 | Select the type of information you are marking. Then, mark the corresponding entry on the page. 2 | 3 | If a field is already marked, you do not need to mark that field another time. 4 | 5 |  -------------------------------------------------------------------------------- /project/anzac/content/help/hs_transfer_help: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/content/help/hs_transfer_help -------------------------------------------------------------------------------- /project/anzac/content/help/hs_transfer_help.md: -------------------------------------------------------------------------------- 1 | Select the entire row for each instance of a transfer. Do not worry about capturing the table header. 2 | 3 |  -------------------------------------------------------------------------------- /project/anzac/content/help/learn_marking.md: -------------------------------------------------------------------------------- 1 | In “Mark,” you will follow the instructions to the right of each page to identify important elements in each document. For some questions, you will need to draw rectangles on the document. You will see marks submitted by other volunteers as well, although you can hide these for visibility. You do not need to re-mark things that have already been marked! You can also delete others’ marks; this votes for those marks being incorrect. -------------------------------------------------------------------------------- /project/anzac/content/help/learn_transcribing.md: -------------------------------------------------------------------------------- 1 | In “Transcribe,” you will be presented with portions of documents that other people have already marked, and you will simply type out what you see and click . If the highlighted portion does not contain the information requested (for instance, a birthplace that has been marked as a date), please select “Bad Mark.” If it is unreadable, select “Illegible.” -------------------------------------------------------------------------------- /project/anzac/content/help/mark_att_two_part.md: -------------------------------------------------------------------------------- 1 | Select the type of information you are marking. Then, mark the area containing the type of information. 2 | For questions, mark both the question and the response with the same rectangle. 3 | 4 |  -------------------------------------------------------------------------------- /project/anzac/content/help/mark_or_transcribe.md: -------------------------------------------------------------------------------- 1 | You can select from two interfaces: “Mark” and “Transcribe.” In “Mark,” you’ll be identifying different types of documents, and interesting and relevant portions of the documents. In “Transcribe,” you’ll be typing out what those relevant portions say. You can also simultaneously mark and transcribe by using the “Mark” interface; this is best if you want to go through documents in order. -------------------------------------------------------------------------------- /project/anzac/content/help/transcribe_while_mark.md: -------------------------------------------------------------------------------- 1 | There are two ways to transcribe while you are marking. The first is to use the buttons that appear to the bottom right of each rectangular mark. This will open a window to allow you to transcribe just that mark. The second is to click “Transcribe This Page” once you have finished marking it. This will take you to the “Transcribe” interface just for that one page, and return you to “Mark” when you are done. -------------------------------------------------------------------------------- /project/anzac/content/help/welcome.md: -------------------------------------------------------------------------------- 1 | In this project, you’ll be working alongside other volunteers to digitize the personnel files of New Zealand soldiers who served in World War I and the South African War, and help an international team of historians learn about the society and lifestyles of New Zealanders in the early 20th century. This brief tutorial will help you get started. -------------------------------------------------------------------------------- /project/anzac/content/home.html.erb: -------------------------------------------------------------------------------- 1 | Do your part to help transcribe first-hand accounts of New Zealanders from the Australian and New Zealand Army Corps circa World War I. 2 | 5 | 9 | -------------------------------------------------------------------------------- /project/anzac/images/1_part_att_q.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/1_part_att_q.gif -------------------------------------------------------------------------------- /project/anzac/images/att_chest_mesurement.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/att_chest_mesurement.gif -------------------------------------------------------------------------------- /project/anzac/images/att_hearing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/att_hearing.gif -------------------------------------------------------------------------------- /project/anzac/images/att_height.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/att_height.gif -------------------------------------------------------------------------------- /project/anzac/images/att_sight.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/att_sight.gif -------------------------------------------------------------------------------- /project/anzac/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/background.png -------------------------------------------------------------------------------- /project/anzac/images/hs_mark_help.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/hs_mark_help.gif -------------------------------------------------------------------------------- /project/anzac/images/hs_transfer_row.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/hs_transfer_row.gif -------------------------------------------------------------------------------- /project/anzac/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/logo.png -------------------------------------------------------------------------------- /project/anzac/images/sa_att_ex.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/anzac/images/sa_att_ex.jpeg -------------------------------------------------------------------------------- /project/anzac/subjects/groups.csv: -------------------------------------------------------------------------------- 1 | key,name,description,external_url,retire_count 2 | individual_files,personnel_files,https://s3.amazonaws.com/anzac-project/R10927559/FL9809231,3 3 | -------------------------------------------------------------------------------- /project/anzac/tutorial/tutorial.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Tutorial", 3 | "first_task": "welcome", 4 | "tasks": { 5 | "welcome": { 6 | "next_task": null, 7 | "help": { 8 | "title": "Welcome to Measuring the ANZACs!", 9 | "file": "one_slide_tutorial" 10 | } 11 | } 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /project/emigrant/assets/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/background.jpg -------------------------------------------------------------------------------- /project/emigrant/assets/fonts/KievitWeb-Book.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/fonts/KievitWeb-Book.eot -------------------------------------------------------------------------------- /project/emigrant/assets/fonts/KievitWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/fonts/KievitWeb-Book.woff -------------------------------------------------------------------------------- /project/emigrant/assets/fonts/KievitWeb-Medi.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/fonts/KievitWeb-Medi.eot -------------------------------------------------------------------------------- /project/emigrant/assets/fonts/KievitWeb-Medi.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/fonts/KievitWeb-Medi.woff -------------------------------------------------------------------------------- /project/emigrant/assets/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/hero.jpg -------------------------------------------------------------------------------- /project/emigrant/assets/images/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/background.jpg -------------------------------------------------------------------------------- /project/emigrant/assets/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/favicon.ico -------------------------------------------------------------------------------- /project/emigrant/assets/images/hero.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/hero.jpg -------------------------------------------------------------------------------- /project/emigrant/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/logo.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_address_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_address_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_address_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_address_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_address_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_address_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_address_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_address_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_date_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_date_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_date_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_date_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_date_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_date_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_date_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_date_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_loan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_loan_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_loan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_loan_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_loan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_loan_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_loan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_loan_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_mortgager_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_mortgager_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_mortgager_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_mortgager_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_mortgager_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_mortgager_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_mortgager_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_mortgager_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_number_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_number_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_number_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_number_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_survey_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_survey_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_survey_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_survey_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_survey_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_survey_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_survey_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_survey_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_value_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_value_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_value_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_value_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_value_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_value_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/m_value_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/m_value_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/mark_task.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/mark_task.mp4 -------------------------------------------------------------------------------- /project/emigrant/assets/images/mark_task2.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/mark_task2.mp4 -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_address_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_address_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_address_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_address_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_address_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_address_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_address_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_address_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_date_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_date_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_date_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_date_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_date_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_date_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_date_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_date_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_loan_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_loan_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_loan_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_loan_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_loan_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_loan_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_loan_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_loan_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_mortgager_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_mortgager_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_mortgager_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_mortgager_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_mortgager_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_mortgager_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_mortgager_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_mortgager_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_number_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_number_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_number_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_number_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_survey_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_survey_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_survey_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_survey_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_survey_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_survey_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_survey_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_survey_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_value_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_value_1.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_value_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_value_2.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_value_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_value_3.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/t_value_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/t_value_4.png -------------------------------------------------------------------------------- /project/emigrant/assets/images/transcribe_task.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/transcribe_task.mp4 -------------------------------------------------------------------------------- /project/emigrant/assets/images/verify_task.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/images/verify_task.mp4 -------------------------------------------------------------------------------- /project/emigrant/assets/js/custom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zooniverse/scribeAPI/33590c080ae82d2e8e97bc0ae9e76a0a5558c9f7/project/emigrant/assets/js/custom.js -------------------------------------------------------------------------------- /project/emigrant/content/help/learn_marking.md: -------------------------------------------------------------------------------- 1 | #Hi! 2 | 3 | Your task is to identify fields in a series of bank records. You'll be working with digitized pages from the Bank's record books. Typically, each page has two pages. Sometimes, one or both of the records are obscured by another image or an insert on the page. If there's an issue preventing you from reading the records or if there is no information recorded on the page, select the "Bad Page" button in the right hand pane. 4 | 5 | Use the menu on the right to select a field (e.g. "Record Date"). Then, use your mouse to draw a box on the image around each place that the field appears. As an aid, the fields are color coded. All the boxes for that field will appear in the same color. For additional, field specific guidance select the help buttons next to each field label. 6 | 7 | You may see existing rectangles on the page. If this is the case, someone has already marked the field and there's no need to mark an area twice. 8 | 9 | You can manipulate the digitized pages with tools on the left hand side of the screen. Here you'll find the zoom tool and a mark toggle. 10 | 11 | The marks created in this task identify the fields to be transcribed in the next task phase. 12 | 13 | 14 | -------------------------------------------------------------------------------- /project/emigrant/content/help/learn_transcribing.md: -------------------------------------------------------------------------------- 1 | #Transcribe 2 | 3 | Transcribe the text exactly as you see it. For additional help and sample transcriptions, each transcription prompt has an "Need some help" button providing field specific context. 4 | 5 | If the text is hard to read, transcribe as best you can. These transcriptions will be sorted through in the Verify stage. 6 | -------------------------------------------------------------------------------- /project/emigrant/content/help/learn_verifying.md: -------------------------------------------------------------------------------- 1 | #Verify 2 | 3 | In this task, you'll perform quality control on the transcriptions. Select the best transcription from those provided. If none appear correct, you may choose to enter your own. 4 | 5 | Once a consensus has been achieved, we'll accept the transcription as accurate and add the value to the index. 6 | -------------------------------------------------------------------------------- /project/emigrant/content/help/m_record_amount_loaned.md: -------------------------------------------------------------------------------- 1 | # Amount Loaned 2 |The amount loaned is typically found at or near the bottom of the record.
3 |Sometimes record dates are hand-written in the form's left-hand margin. Be careful not to confuse the date of valuation with the record date.
3 |Some records contain a field for a hand-written annotation of the building material.
3 |The mortgager tends to be a single person or organization's name. If multiple names are provided, draw one box around all of them.
3 |The record number can generally be found in the upper right-hand corner of the record. Don't worry if you can't find this field on the page; many mortgages do not have a record number.
3 |Put a box around the street address of the mortgage's property.
3 |Some records include dimensions and/or descriptions of the mortgage's land and building. Include both the dimensions and the description when you draw a box. If they appear, short descriptions, number of stories, and building material should all be marked. There may be several marks per record for this page.
3 |Some records include valuations comprised of an assessment date and dollar values. Valuations can be of the land, the building, the total, or a combination of the three. Draw one box around all the valuations. Be sure to include the valuation date, one appears.
3 |Enter the total amount loaned.
3 |Enter: 20000
8 |Enter: 10000
13 |Enter: 9000
18 |Enter: 15000
23 |Enter: 1881 April 27
8 |Enter: Sept. 21/91
13 |Enter: June 15/03
18 |Enter: Nov. 20/16
23 |The mortgager tends to be a single person or organization's name. If multiple names are provided, enter them all separated by semi-colons. (E.g. "Mary Smith; John O'Meallia")
4 |Shan Hashomain Synagogue
9 |Enter: Eunice R. Waterbury; Eloise B. Crothers
14 |Enter: Catherine Viemeister
19 |Enter: Hickory Realty Leo. (Max Marx)
24 |Enter: 1566
8 |Enter: 3758
13 |Enter the building address as appears, e.g., "39 Mott St," "S. W. corner of 7th Avenue & 25th St. No 226 7th Avenue," "Mulberry, Mott and Prince St."
3 |Enter: Rivington St. near 2nd St.
8 | 9 |Enter: 250 W 55
14 |Enter: 75 Perry St
19 |Enter: 202 N. 149 Dr
24 |Old
5 |Weather
6 ||
10 |Whaling
11 |