/acawriter

Academic Writing Analytics

Primary LanguagePHPApache License 2.0Apache-2.0

AcaWriter

AcaWriter was created by the Academic Writing Analytics project, at the UTS Connected Intelligence Centre. The software is now being shared and improved across universities in Australia and beyond, as part of the Higher Education Text Analytics open source project.

Tech Stack

Laravel, Postgres, GraphQL, Redis, node, socket.io, docker, docker-compose

Requirements

At least 8GB of free RAM is required, recommended 16GB.

Install the following software in your environment:

Check the following:

$ docker --version
Docker version XX.XX.XX, build XXXXXXX

$ docker-compose --version
docker-compose version X.XX.X, build XXXXXXXX

$ git --version
git version X.XX.X

Code checkout

git clone https://github.com/uts-cic/acawriter.git
cd acawriter

Environment configuration

At the minimum you need to configure APP_KEY, and APP_URL (if not running on localhost):

cp .env.example .env
vim .env

...
APP_KEY=base64:mTC7uqwOB0YpGbMZSueR/zC4pYE9mDheXqnm3NFQ0MQ=
...
APP_URL=http://my-server-url /* keep http://localhost setting for local setup*/
...
DB_PASSWORD=my-secure-password
...

APP_KEY

To generate APP_KEY you can use:

$ openssl rand -base64 32
WhkENO8c0jB0kWcrqIsFgsdl+AQqs9XZg5C+UYEE8FI=

Prepend base64:

OR

$ docker-compose exec app php artisan key:generate --show
base64:yq2h/9XOHYiRWjT5QsTha8HhP3MlmFEH7E3tWsZyiXw=

AAF Settings

AAF_SECRET=
AAF_AUD=
AAF_LINK=

LTI Integration

AcaWriter supports LTI integration.

LTI_KEY=
LTI_SECRET=

Build and run docker containers

$ docker-compose up -d

Once build process is completed, you can check if the containers are running:

$ docker-compose ps

  Name                Command               State               Ports
----------------------------------------------------------------------------------
app        docker-php-entrypoint php-fpm    Up      9000/tcp
athanor    /opt/docker/bin/athanor-server   Up      0.0.0.0:8083->8083/tcp
nginx      nginx -g daemon off;             Up      0.0.0.0:80->80/tcp
postgres   docker-entrypoint.sh postgres    Up      5432/tcp
redis      docker-entrypoint.sh redis ...   Up      6379/tcp
socketio   docker-entrypoint.sh node  ...   Up      3000/tcp
tap        /opt/docker/bin/tap              Up      0.0.0.0:9000->9000/tcp

Initial setup

Run the following commands to:

  • Setup database
  • Populate database with roles and fatures
  • Create the first user admin account - follow the prompts, and select admin role (4)
$ docker-compose exec app php artisan migrate
$ docker-compose exec app php artisan db:seed
$ docker-compose exec app php artisan create:user

License

AcaWriter is open sourced under [Apache 2.0] licence.