If you're already have the API running locally, a simple npm install && npm start
should be enough. Otherwise follow the procedure below:
-
Install (if you don't have them):
- Docker and docker-compose (to start the API easily)
- NodeJS, ideally using asdf with
NODEJS_CHECK_SIGNATURES=no asdf install
- App dependencies:
npm install
-
Run:
docker-compose up
- Start the APInpm start
- Start the frontendnpm run test
- run all unit tests
A default account should have been created for you with
email=[email protected]
and password=password
.
See CONTRIBUTING.md for more details.
app
βββ API => Api libraries for both REST API and websockets
βββ assets => assets imported from JS
βββ components => All react components
βββ i18n => Translations
βββ lib => Misc utilities
βββ state => All redux related
βΒ Β βββ comments
βΒ Β βΒ Β βββ effects.js => Async actions creators, always return a promise
βΒ Β βΒ Β βββ record.js => The object representing a single comment
βΒ Β βΒ Β βββ reducer.js => Reducer + actions creators, always return an action object
βΒ Β βΒ Β βββ selectors.js => re-select selectors to select data in state
βΒ Β βββ ...
βββ static => static assets, directly copied to the public directory
βββ styles => stylesheets in .sass format, all included from application.sass
βββ router.jsx => Application router and main entry point
- ES6 with Babel
- ReactJS: vue layer
- Redux: state management
- ReactRouter: routing
- phoenix: interaction with phoenix socket
- Bulma: base styles
GNU AFFERO GENERAL PUBLIC LICENSE Version 3
Permissions of this strongest copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights. When a modified version is used to provide a service over a network, the complete source code of the modified version must be made available.
See LICENSE for more info.