https://github.com/ackama/nzsl-share
https://github.com/ackama/nzsl-share
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ackama/nzsl-share
- Owner: ackama
- License: gpl-3.0
- Created: 2019-08-21T01:44:11.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2025-10-06T00:24:58.000Z (8 months ago)
- Last Synced: 2025-10-06T01:08:35.293Z (8 months ago)
- Language: Ruby
- Size: 32.1 MB
- Stars: 0
- Watchers: 13
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://app.codeship.com/projects/361577)
# NZSL Share
This is a Rails 7 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](https://mattbrictson.com/rails-osx-setup-guide).
## Getting started
See our [contribution guide](CONTRIBUTING.md) 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](https://nzsl.nz). 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](https://github.com/odnzsl/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`
[rbenv]: https://github.com/sstephenson/rbenv
[redis]: http://redis.io
[homebrew]: http://brew.sh
## 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](https://browserl.ist/?q=%3E+0.25%25+in+NZ+and+last+2+versions%2C+not+ie+11%2C+not+op_mini+all)