Group Income is voluntary, decentralized, end-to-end encrypted basic income for you and your friends.
npm install -g grunt-cli
cd
into it.npm install
We use standard for the code style and Github project boards for efficient project management.
We are continually improving the user experience for everyone, and applying the relevant accessibility standards. We will be conformant with WCAG 2.0 Level AA and trying our best to reach Level AAA in some areas of the application.
<a href="https://www.w3.org/WAI/WCAG2AA-Conformance" title="Explanation of WCAG 2.0 Level Double-A Conformance"> <img height="32" width="88" src="https://www.w3.org/WAI/wcag2AA" alt="Level Double-A conformance, W3C WAI Web Content Accessibility Guidelines 2.0">
Some issues have bounties assigned to them.
Any open contractor positions are posted to: Open Positions
To get started with development, follow the steps in Getting Started first.
Run all servers + watch files for changes
grunt dev
Create a tunnel to share access over the Internet:
grunt dev --tunnel
[!IMPORTANT] This service (localtunnel) doesn't seem to work anymore. Instead please try localhost.run or serveo instead, e.g.:
$ grunt dev # then, in another terminal: $ ssh -R 80:localhost:8000 nokey@localhost.run
Build the app for distribution
grunt deploy
Clean up files in dist/
grunt clean
Run tests.
NOTE: You may need to first install Cypress using ./node_modules/.bin/cypress install
# all tests
grunt test
# all tests while skipping build step
grunt test --skipbuild
# unit tests only (always skips build)
grunt test:unit
# show e2e tests (Cypress) live in a browser
grunt test --browser
# run e2e tests (Cypress) in "open" mode
grunt test --browser=debug
# Developing at the same time as writing E2E tests
grunt dev
# and in another terminal run Cypress in "open" mode
npm run cy:open
# Run a specific Cypress spec against the running 'grunt dev' server:
npx cypress run -c 'baseUrl=http://localhost:8000' --spec "test/cypress/integration/group-chat.spec.js"
You can run commands in a Docker container by using npm run docker -- <cmd>
instead.
For example:
npm run docker -- npm install
npm run docker -- grunt dev
npm run docker -- grunt test --skipbuild
For details, see: Docker.md
If you run into any errors during the setup, try the suggestions in Troubleshooting.md
.
Donations to the okTurtles Foundation support the development of Group Income and related projects.
AGPL-3.0. See LICENSE
for license details and CONTRIBUTING.md
for the contribution policy.