Cay, a community moderation tool (front-end)
- make sure you have your other services set up and running xenia pillar
git clone email@example.com:CoralProject/cay.git && cd cay
- set up your
/config.jsonfile with the locations of your hosted services. A sample file is at
public/config.sample.jsonand currently must be placed at the root of the hosting directory for Cay.
You'll need to be running
v5.0.0 of node, we recommend using
nvm to manage node installations.
The app is a series of React components compiled into modules with webpack.
This repo is for the front-end of the Coral ecosystem outlined here.
The basic idea is that the build process results in a
. +-- .github +-- assets -> nginx config +-- css +-- dist -> built files +-- fonts +-- lang +-- public -> images and config config.json -> environment variables and such data_config.json -> filters and dimension defs +-- src | +-- app | +-- layout | AppActions.js | AppReducer.js | MainReducer.js ... other page-level (stateful) components | +-- auth | +-- comments -> any UI and redux for Comments | +-- components -> re-usable generic UI components | +-- explorer -> data visualization explorer domain | +-- filters -> any UI and redux for Filters | +-- search -> any UI and redux for Searches | +-- i18n -> internationalization wrappers | +-- tags -> any UI and redux for Tags | +-- users -> any UI and redux for Users index.js -> entry point for app settings.js -> colors for the app store.js -> redux store +-- test -> mirrors the src folder
We welcome community contribution. If you're thinking about making more than a minor change, check in with the Coral team via Github issues to avoid unnecessary work for both parties.
Sequester all work in pull requests
- create a new branch with
git checkout -b your-fancy-branch-name
- make a trivial change, and commit back to your branch with
git add ./your-changed-file.jsand
git commit -m "a commit message here"
- push your changes to github with
git push origin your-fancy-branch-name
- on github.com, you should see a button to create a pull request from your new branch
- There will be public code reviews before we merge any PRs into master
We will not accept commits or pushes to the
master branch, as the latest version of master is automatically deployed. Any direct push to master will be reverted.
Packaging for production involves building the js and css files with
npm run build. This will nuke and re-populate the
/dist folder. After these files are copied to the server, a valid
config.json file must live in the root of the directory from which the front-end assets are served. There is a
config.sample.json in the
/public directory for your reference.
- how to internationalize (R2L languages)
- how to continue to make things accessible