|
1 | | -# README |
| 1 | +# SkillRx Beacon |
2 | 2 |
|
3 | | -This README would normally document whatever steps are necessary to get the |
4 | | -application up and running. |
| 3 | +SkillRx Beacon is a Ruby on Rails API application that manages content synchronisation for edge devices (Beacons) deployed in low-resource medical settings. It replaces the existing Azure-based distribution system with direct device-to-CMS communication. |
5 | 4 |
|
6 | | -Things you may want to cover: |
| 5 | +Beacons are physical devices deployed in healthcare facilities globally that broadcast local Wi-Fi networks, allowing healthcare workers to access training materials via their phones without internet connectivity. This application handles device registration, content assignment, and sync orchestration. |
7 | 6 |
|
8 | | -* Ruby version |
| 7 | +# Ruby for Good |
9 | 8 |
|
10 | | -* System dependencies |
| 9 | +SkillRx Beacon is one of many projects initiated and run by Ruby for Good. You can find out more about Ruby for Good at https://rubyforgood.org. |
11 | 10 |
|
12 | | -* Configuration |
| 11 | +# Welcome Contributors! |
13 | 12 |
|
14 | | -* Database creation |
| 13 | +[Contribution guidelines for this project](CONTRIBUTING.md) |
15 | 14 |
|
16 | | -* Database initialization |
| 15 | +# Install & Setup |
17 | 16 |
|
18 | | -* How to run the test suite |
| 17 | +Clone the codebase |
| 18 | +``` |
| 19 | +git clone git@github.com:rubyforgood/skillrx-beacon.git |
| 20 | +``` |
19 | 21 |
|
20 | | -* Services (job queues, cache servers, search engines, etc.) |
| 22 | +Run the setup script to prepare the DB and assets |
| 23 | +```sh |
| 24 | +bin/setup |
| 25 | +``` |
21 | 26 |
|
22 | | -* Deployment instructions |
| 27 | +To run the app locally, use: |
| 28 | +``` |
| 29 | +bin/dev |
| 30 | +``` |
23 | 31 |
|
24 | | -* ... |
| 32 | +# Running specs |
| 33 | + |
| 34 | +```sh |
| 35 | +# Default: Run all spec files |
| 36 | +$ bundle exec rspec |
| 37 | + |
| 38 | +# Run all spec files in a single directory |
| 39 | +$ bundle exec rspec spec/models |
| 40 | + |
| 41 | +# Run a single spec file |
| 42 | +$ bundle exec rspec spec/requests/api/v1/devices_spec.rb |
| 43 | + |
| 44 | +# See all options for running specs |
| 45 | +$ bundle exec rspec --help |
| 46 | +``` |
| 47 | + |
| 48 | +# Testing |
| 49 | + |
| 50 | +This project uses: |
| 51 | +* `rspec` for testing |
| 52 | +* `shoulda-matchers` for expectations |
| 53 | +* `factory_bot` for making records |
| 54 | + |
| 55 | +To run tests, simply use `bin/rspec`. |
0 commit comments