Giter Club home page Giter Club logo

nzsl-share's Introduction

Codeship Status for ackama/nzsl-share

NZSL Share

This is a Rails 6 app.

Documentation

This README describes the purpose of this repository and how to set up a development environment. Other sources of documentation are as follows:

  • UI and API designs are in doc/
  • A playbook for failure scenarios and what to do can be found in doc/playbook.md
  • The authorisation policy for this app can also be found in doc/ - this details the types of users and the permissions they have.

Prerequisites

This project requires:

  • Ruby 3.1.3, preferably managed using rbenv
  • Google Chrome for headless Capybara testing
  • PostgreSQL must be installed and accepting connections
  • SQLite must be installed with development libraries to connect to the dictionary database
  • Redis must be installed and accepting connections

On a Mac, you can obtain all of the above packages using Homebrew.

If you need help setting up a Ruby development environment, check out this Rails OS X Setup Guide.

Getting started

See our contribution guide for full instructions on getting set up and contributing to the project!

If you know what you're doing already, bin/setup should get you set up, and you can run bin/ci-run to make sure you've got locally passing tests.

Signbank Dictionary

This application allows users to search for signs that are already published in the NZSL Dictionary. This reduces the risk that a contribution duplicates already-published work.

The dictionary data is consumed from a SQLite database that is downloaded from a Github release. From time to time, the dictionary data is updated, and exported by nzsl-dictionary-scripts.

Unless there has been a major change to published data, you don't need to update the dictionary SQLite file often. When the application is started, the most recent copy is also downloaded if the database file is missing or older than 1 month.

If you know there has been an update, and want the latest copy immediately, you can run bundle exec rake dictionary:update to download it.

Deployment

Ensure the following environment variables are set in the deployment environment to configure the environment. Other, application-specific configuration keys can be found in example.env.

  • RACK_ENV
  • RAILS_ENV
  • REDIS_URL
  • SECRET_KEY_BASE
  • SIDEKIQ_WEB_PASSWORD
  • SIDEKIQ_WEB_USERNAME

Optionally:

  • HOSTNAME
  • RAILS_FORCE_SSL
  • RAILS_LOG_TO_STDOUT
  • RAILS_MAX_THREADS
  • RAILS_SERVE_STATIC_FILES
  • WEB_CONCURRENCY

Browser support

We support the latest 2 versions (stable releases) of major browsers for desktop and mobile. At the time of writing this is:

Browser Desktop iOS Android
Chrome 76, 75 76, 75 76, 75
Edge 17, 16 N/A 15, 14
Firefox 69, 68 18, 17 68, 67
Safari 13, 12 12, 11 N/A

You can check the versions covered by our browserslist configuration here

nzsl-share's People

Contributors

joshmcarthur avatar trevh-ack avatar mischa-s avatar l-suzuki avatar g-rath avatar dependabot[bot] avatar hopkincame avatar jacobbriggsackama avatar rabid-dan avatar jamesyang76 avatar eoinkelly avatar carahill avatar nzlaura avatar fractalcactus avatar

Watchers

Matías Halles avatar Gold avatar denford avatar  avatar James Cloos avatar Thomas Gordon avatar dinie avatar Ariel Reyes avatar Greg Parsons avatar  avatar Angela Martin avatar DSAckama avatar  avatar  avatar Esteban Campos avatar  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.