Code Monkey home page Code Monkey logo

climate-data-rescue's Introduction

DRAW - Data Rescue: Archives and Weather

Build Status Travis (Github) Code Climate

Contents

  • Introduction
  • Development Setup
    • Environment Variables
    • Starting and Stopping the application
  • Attribution and Acknowlegements

Introduction

This application seeks to aid in the digitization of paper records through the crowd-sourced transcription of scanned image files, particularly documents ill-suited for Optical Character Recognition (OCR). It specializes in recovering data stored in a highly structured format. The app fully supports multilingual localization of the user interface and the data schema organization (field labels, help texts, etc).

Administrators are given an interface with which to define their data collection schemas, and users are provided a mechanism to transcribe data contained on the page and indicate its position.

Development Setup

Apart from GIT and whatever IDE/editor you prefer to use the minimum to run a dev env is docker desktop.

Environment Variables

You will need to create a .envrc file. The minimal content should have

export MYSQL_ROOT_PASSWORD=yourpassword
export MYSQL_PASSWORD=yourpassword
export SIDEKIQ_REDIS_URL=redis://localhost:6379/0
export SMTP_PORT=10025
export SMTP_SERVER=127.0.0.1
export HOSTNAME=localhost
export HOSTPORT=3000
export DEVISE_SECRET=
export SECRET_KEY_BASE=

For development set the MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD to the same value will be used by the docker scripts to create an instance of the database and set up the initial database. Also by the Rails database.yml for the connection. In local dev their value is unimportant and can be used as-is.

DEVISE_SECRET, and SECRET_KEY_BASE will need values. You can generate values for them using the following commands:

docker-compose -p draw-dev -f docker-compose-dev.yml run draw bundle install
docker-compose -p draw-dev -f docker-compose-dev.yml run draw bundle exec rake secret

Starting and Stopping the application

The dev docker compose uses external volumes so that we can persist data between runs. These are created using the following:

docker volume create --name=draw-db-data
docker volume create --name=draw-redis-data
docker volume create --name=draw-node_modules
docker volume create --name=draw-node_modules_sidekiq

Then to start the dev docker instances use

docker-compose -p draw-dev -f docker-compose-dev.yml up

or

docker-compose -p draw-dev -f docker-compose-dev.yml up --build -d

The secound will detach the docker processes from your shell so it remains running.

You will be able to access the running server via http://localhost:3000 and a test user will available ([email protected] with password password)

Attribution and Acknowlegements

This application was created in 2015 by Robert Smith as an undergraduate independent study project in the Department of Geography at McGill University with Renee Sieber from the departments of Geography and Environmental Studies as the supervisor. It was developed in coordination with Victoria Slonosky in her efforts to recover data from thousands of pages of historical weather observations.

This project was inspired by the Scribe Framework.

climate-data-rescue's People

Contributors

arfon avatar balen avatar benlaurie avatar benwbrum avatar danielhogg avatar dependabot-preview[bot] avatar dependabot[bot] avatar jinxingster avatar marw12 avatar mcagan avatar raakal avatar rsmithlal avatar stuartlynn avatar tdb93 avatar ttfnrob avatar vickys08 avatar y2749zha avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.