{"id":14974495,"url":"https://github.com/uts-cic/acawriter","last_synced_at":"2025-10-27T09:30:39.131Z","repository":{"id":37546757,"uuid":"130279496","full_name":"uts-cic/acawriter","owner":"uts-cic","description":"Academic Writing Analytics","archived":false,"fork":false,"pushed_at":"2024-10-19T15:33:51.000Z","size":4434,"stargazers_count":9,"open_issues_count":10,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-01T04:31:45.722Z","etag":null,"topics":["graphql","laravel54","node","php","socketio","vuejs"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uts-cic.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-19T22:33:28.000Z","updated_at":"2024-10-14T03:19:31.000Z","dependencies_parsed_at":"2023-11-29T06:28:56.213Z","dependency_job_id":"9ac3577b-f18f-4e85-9848-138f1cb55871","html_url":"https://github.com/uts-cic/acawriter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Facawriter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Facawriter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Facawriter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Facawriter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uts-cic","download_url":"https://codeload.github.com/uts-cic/acawriter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238471970,"owners_count":19478138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graphql","laravel54","node","php","socketio","vuejs"],"created_at":"2024-09-24T13:50:38.927Z","updated_at":"2025-10-27T09:30:37.831Z","avatar_url":"https://github.com/uts-cic.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AcaWriter\n\n\u003cstrong\u003eAcaWriter\u003c/strong\u003e 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.\n\n## Tech Stack\n\nLaravel, Postgres, GraphQL, Redis, node, socket.io, docker, docker-compose\n\n## Requirements\n\nAt least 8GB of free RAM is required, recommended 16GB.\n\nInstall the following software in your environment:\n\n-   \u003ca href=\"https://git-scm.com/book/en/v2/Getting-Started-Installing-Git\"\u003eGIT\u003c/a\u003e\n-   \u003ca href=\"https://docs.docker.com/install/\"\u003eDocker\u003c/a\u003e\n-   \u003ca href=\"https://docs.docker.com/compose/install/\"\u003eDocker Compose\u003c/a\u003e\n\nCheck the following:\n\n```sh\n$ docker --version\nDocker version XX.XX.XX, build XXXXXXX\n\n$ docker-compose --version\ndocker-compose version X.XX.X, build XXXXXXXX\n\n$ git --version\ngit version X.XX.X\n```\n\n## Code checkout\n\n```sh\ngit clone https://github.com/uts-cic/acawriter.git\ncd acawriter\n```\n\n## Environment configuration\n\nAt the minimum you need to configure APP_KEY, and APP_URL (if not running on localhost):\n\n```sh\ncp .env.example .env\nvim .env\n\n...\nAPP_KEY=base64:mTC7uqwOB0YpGbMZSueR/zC4pYE9mDheXqnm3NFQ0MQ=\n...\nAPP_URL=http://my-server-url /* keep http://localhost setting for local setup*/\n...\nDB_PASSWORD=my-secure-password\n...\n```\n\n### APP_KEY\n\nTo generate APP_KEY you can use:\n\n```sh\n$ openssl rand -base64 32\nWhkENO8c0jB0kWcrqIsFgsdl+AQqs9XZg5C+UYEE8FI=\n```\n\nPrepend `base64:`\n\nOR\n\n```sh\n$ docker-compose exec app php artisan key:generate --show\nbase64:yq2h/9XOHYiRWjT5QsTha8HhP3MlmFEH7E3tWsZyiXw=\n```\n\n### Okta Settings\n\n-   Redirect path for AAF : https://your-acawriter-url/auth/okta\n-   Update the following values in .env\n\n```sh\nOKTA_ISSUER=\nOKTA_CLIENT_ID=\nOKTA_CLIENT_SECRET=\n```\n\n### AAF Settings\n\n-   Production link will need SSL\n-   Redirect path for AAF : https://your-acawriter-url/auth/jwt\n-   Update the following values in .env\n\n```sh\nAAF_SECRET=\nAAF_AUD=\nAAF_LINK=\n```\n\n### LTI Integration\n\nAcaWriter supports LTI integration.\n\n-   LTI callback URL: https://your-acawriter-url/auth/lti\n-   Update the following value in .env\n\n```sh\nLTI_KEY=\nLTI_SECRET=\n```\n\n## Build and run docker containers\n\n```sh\n$ docker-compose up -d\n```\n\nOnce build process is completed, you can check if the containers are running:\n\n```sh\n$ docker-compose ps\n\n  Name                Command               State               Ports\n----------------------------------------------------------------------------------\napp        docker-php-entrypoint php-fpm    Up      9000/tcp\nathanor    /opt/docker/bin/athanor-server   Up      0.0.0.0:8083-\u003e8083/tcp\nnginx      nginx -g daemon off;             Up      0.0.0.0:80-\u003e80/tcp\npostgres   docker-entrypoint.sh postgres    Up      5432/tcp\nredis      docker-entrypoint.sh redis ...   Up      6379/tcp\nsocketio   docker-entrypoint.sh node  ...   Up      3000/tcp\ntap        /opt/docker/bin/tap              Up      0.0.0.0:9000-\u003e9000/tcp\n```\n\n## Initial setup\n\nRun the following commands to:\n\n-   Setup database\n-   Populate database with roles and fatures\n-   Create the first user admin account - follow the prompts, and select admin role (4)\n\n```sh\n$ docker-compose exec app php artisan migrate\n$ docker-compose exec app php artisan db:seed\n$ docker-compose exec app php artisan create:user\n```\n\n## License\n\nAcaWriter is open sourced under [Apache 2.0] licence.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futs-cic%2Facawriter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futs-cic%2Facawriter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futs-cic%2Facawriter/lists"}