Skip to content

Latest commit

 

History

History
122 lines (81 loc) · 5.59 KB

README.md

File metadata and controls

122 lines (81 loc) · 5.59 KB

Open Academic Environment (OAE Project)

Hilary is the back-end for the Open Academic Environment. The current frontend is at 3akai-ux but we're slowly building a new one, check it out: Cake

Project channels

Discord

Project status

CircleCI CodeFactor Code Climate Test Coverage Depfu Depfu FOSSA Status

Project standards

Datree code style XO code style Conventional Commits GitHub release (latest SemVer)

Take OAE for a spin

There's a docker image on docker-hub that works out of the box: https://hub.docker.com/r/oaeproject/oae-demo

If you want to build that image locally, you can do that by following instructions at https://github.com/oaeproject/oae-demo/

Development

Here are the quick instructions on how to get OAE set up locally. There's also a more in-depth step-by-step tutorial in the wiki.

node -v # make sure you have v16+
npm -v # make sure you have 7.0.8+

git clone https://github.com/oaeproject/Hilary.git && cd Hilary
git submodule update --init

# launch supporting servers through docker
docker-compose up -d oae-cassandra oae-elasticsearch oae-redis oae-nginx

# install dependencies for ethercalc
cd ethercalc && npm install && cd ..

# install and setup etherpad
cp ep-settings.json etherpad/settings.json
# edit etherpad/settings.json and change `oae-redis` and `oae-cassandra` to `localhost`
cp ep-package.json etherpad/src/package.json
cp ep-root-package.json etherpad/package.json
./prepare-etherpad.sh

# install dependencies for 3akai-ux
cd 3akai-ux && npm install && cd ..

# SSL certificate for 3akai-ux
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout 3akai-ux/nginx/nginx-selfsigned.key -out 3akai-ux/nginx/nginx-selfsigned.crt
openssl dhparam -out 3akai-ux/nginx/dhparam.pem 2048

# install dependencies for Hilary
npm i

# run schema migration
npm run migrate

# Run all servers: ethercalc, etherpad and Hilary
npx pm2 startOrReload process.json ; npx pm2 logs

Github Codespaces

In order to set up OAE on Codespaces, you need to follow the same steps as above. However, every time you re-create a codespace, you'll just need to re-run the services as follows:

docker-compose up -d oae-cassandra oae-elasticsearch oae-redis oae-nginx
npm run migrate
npx pm2 startOrReload process.json --only "Ethercalc, Etherpad"

# if you want to run tests
npm run test

# if you want to run the backend
npm run serve

Running tests

To run tests just make sure you have installed all dependencies (check wiki page on how to set up a dev environment) and run npm run test. To run tests on a specific module, just append its path as follows: npm run test-module --module=oae-principals.

To trigger a pipeline in CircleCI using the API, one needs to run the following (example for sequential tests):

curl --request POST \
  --url https://circleci.com/api/v2/project/gh/oaeproject/Hilary/pipeline \
  --header 'Circle-Token: YOUR_API_TOKEN' \
  --header 'content-type: application/json' \
  --data '{"parameters":{"trigger_parallel_tests":false, "trigger_sequential_tests":true}}'

Get in touch

The project website can be found at http://www.oaeproject.org. The project blog will be updated with the latest project news from time to time.

The mailing list used for Apereo OAE is [email protected]. You can subscribe to the mailing list at https://groups.google.com/a/apereo.org/d/forum/oae.

Bugs and other issues can be reported in our issue tracker and we're always available to help in our discord channel.

Stargazers

Stargazers repo roster for @oaeproject/Hilary

Forkers

Forkers repo roster for @oaeproject/Hilary