Coder Social home page Coder Social logo

worldyne / cboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cboard-org/cboard

0.0 1.0 0.0 138.66 MB

AAC communication board with text-to-speech for the browser

Home Page: https://www.cboard.io

License: GNU General Public License v3.0

HTML 0.50% CSS 4.26% JavaScript 95.09% Shell 0.08% Makefile 0.01% Dockerfile 0.05%

cboard's Introduction

Crowdin Backers on Open Collective Sponsors on Open Collective

Cboard - AAC Communication Board for the Browser

Cboard is an augmentative and alternative communication (AAC) web application, allowing users with speech and language impairments (autism, cerebral palsy) to communicate by symbols and text-to-speech.

Cboard screenshot

The app uses the browser's Speech Synthesis API to generate speech when a symbol is clicked, there are 3400 symbols to choose from when creating a board. Cboard is available in 33 languages (support varies by platform - Android, iOS, Windows).

We're using Discord to collaborate, join us at: https://discord.gg/TEH8uxh

How does it work?

This video from Real Look Autism will help you understand how communication boards are being used.

Disclaimer: the app in the video is not Cboard.

Real Look Autism Episode 8

Translations

The app supports 33 languages. Languages were machine translated and require proofreading, if you want to help proofread click here: https://cboard-org.github.io/cboard-translate/ - you do not need to be a programmer!

In order to pull the latest translations from CrowdIn into the codebase, you can run yarn translations:pull. This will update all language files such as en.json as well as the central cboard.json file. Please note that this requires the CrowdIn API key to be available in the .private config file. Refer to Secrets Management. After the script completes, changes to the translation files will need to be committed to the repo by the usual process.

Getting Started

npm start or yarn start

Runs the app in development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will see the build errors and lint warnings in the console.

npm test or yarn test

Runs the test watcher in an interactive mode.
By default, runs tests related to files changed since the last commit.

Read more about testing.

npm run build or yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
By default, it also includes a service worker so that Cboard loads from local cache on future visits.

Cboard is ready to be deployed.

npm run build-cordova-debug

Use this to produce non-minified build for use in debugging within Cordova. It uses react-app-rewired & config-overrides.js to customize webpack operation without ejecting react.

See CCBoard repo for packaging this C-Board application within Cordova.

Docker getting started

make image

Creates a Docker image with cboard built for production. The image is tagged as cboard:latest.

make run

Runs the cboard:latest Docker image on port 5000.

Secrets Management

Some external services have APIs we want to access, and these require API keys. To prevent open disclosure of these keys in the public repository, while still tracking them with the code, we encrypt some secrets into a GPG file. These files are env/local-private.gpg and env/prod-private.gpg.

In order to access the secrets, you must request the ENCRYPTION_KEY from @shaycojo and then run the decrypt script: ENCRYPTION_KEY={key-goes-here} yarn decrypt:local (or prod), which will create the file .private/local.js with the secrets in plain text where the scripts can access them. The files in .private should never be committed to the repository.

If you need to add or change a secret, make the change to the .private/local.js file, and then run the encryption script: ENCRYPTION_KEY={key-goes-here} yarn encrypt:local (or prod).

Note: These keys/secrets are not required to run or develop Cboard. They are used with scripts by some team members.

Thanks

Symbols sources

Mulberry Mulberry

ARASAAC ARASAAC

Global Symbols Global Symbols

Translation

Crowdin Crowdin - for providing the localization management platform.

Testing platform

Browserstack Browserstack - for providing the automation infrastructure for testing.

Development

CSS-Tricks CSS Tricks - for providing feedback and support from the early stage.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Licenses

Code - GPLv3

Mulberry Symbols - CC BY-SA

ARASAAC Symbols - CC BY-NC-SA

cboard's People

Contributors

amberleyromo avatar arthurdenner avatar brendanfdmoore avatar falinsky avatar gavinhenderson avatar hanzhaogang avatar heyphilllie avatar hoodwink73 avatar iorekz avatar johanzilber avatar jquintozamora avatar jtaco avatar karenhaag avatar kickbutts avatar kidcompassion avatar luftzig avatar martinbedouret avatar monkeywithacupcake avatar muelletr avatar nataliagon avatar nathanbaleeta avatar qeebr avatar shayc avatar snyk-bot avatar stevealee avatar sylvansson avatar tibovanheule avatar tinchodipalma avatar vpicone avatar winnie334 avatar

Watchers

 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.