{"id":20126323,"url":"https://github.com/uts-cic/ontaskify","last_synced_at":"2026-05-13T03:06:20.579Z","repository":{"id":207683793,"uuid":"719833313","full_name":"uts-cic/ontaskify","owner":"uts-cic","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-23T04:32:08.000Z","size":426,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-02T21:15:38.345Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":"2023-11-17T01:51:49.000Z","updated_at":"2023-11-17T02:59:29.000Z","dependencies_parsed_at":"2025-01-13T16:46:58.310Z","dependency_job_id":null,"html_url":"https://github.com/uts-cic/ontaskify","commit_stats":null,"previous_names":["uts-cic/ontaskify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uts-cic/ontaskify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Fontaskify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Fontaskify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Fontaskify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Fontaskify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uts-cic","download_url":"https://codeload.github.com/uts-cic/ontaskify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uts-cic%2Fontaskify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32965802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T23:30:32.555Z","status":"online","status_checked_at":"2026-05-13T02:00:07.132Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T20:15:49.840Z","updated_at":"2026-05-13T03:06:20.560Z","avatar_url":"https://github.com/uts-cic.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OnTaskify\n\n[![Quality Gate Status](https://sonarqube.utscic.edu.au/api/project_badges/measure?project=uts-cic_ontaskify_AYv01JOdSoFdTa0K0K7B\u0026metric=alert_status\u0026token=sqb_fabbfa4dbf5b1d8cd8bb531a6ed1447876e24fab)](https://sonarqube.utscic.edu.au/dashboard?id=uts-cic_ontaskify_AYv01JOdSoFdTa0K0K7B)\n\nOnTaskify is a utility to assist the use of OnTask to provide personalised feedback to students at scale, based on their Canvas activity traces. For details of the UTS:CIC OnTask project see [https://cic.uts.edu.au/tools/ontask/](https://cic.uts.edu.au/tools/ontask/)\n\n## Installation\n\n### Requirements\n\n- Angular\n- Terraform (for AWS deployment)\n\n### Steps\n\n1. Clone the repository.\n2. For local development:\n   - Copy `proxy.conf.json.template` to `proxy.conf.json`.\n   - Specify your Canvas domain in the copied file.\n3. Terraform scripts are provided for deploying the Angular app to AWS S3, with a CloudFront distribution.\n   - Ensure the Canvas origin is added to address CORS issues by proxying requests to the Canvas instance from the same domain.\n\n## Terraform Setup (for AWS deployment)\n\nFollow these steps to configure and use Terraform for managing our infrastructure:\n\n### Navigate to Terraform Directory\n\n```bash\ncd terraform\n```\n\n### Configure Backend\n\nCopy the `terraform.template.tfbackend` file to a new file named `terraform.tfbackend`. Edit this new file to include your specific backend configuration.\n\n### Create Terraform Variable File\n\nCreate a `terraform.tfvars` file with your AWS credentials and project-specific variables. Replace the placeholders with your actual details:\n\n```bash\naws_access_key = \"your_aws_access_key\"\naws_secret_key = \"your_aws_secret_key\"\naws_region     = \"your_aws_region\"\nontaskify_bucket          = \"my-ontaskify\"\nontaskify_name            = \"Ontaskify\"\nontaskify_domain          = \"my-ontaskify.utscic.edu.au\"\nontaskify_certificate_arn = \"your_certificate_arn\"\ncanvas_domain             = \"my-canvas.domain\"\n```\n\n**Important:** Do not commit `terraform.tfvars` to your version control system.\n\n### Initialize Terraform\n\nInitialize Terraform to set up the necessary providers and backend:\n\n```bash\nterraform init -backend-config=terraform.tfbackend\n```\n\n### Apply Configuration\n\nApply the Terraform configuration to create or update the infrastructure:\n\n```bash\nterraform apply\n```\n\n### Additional Commands\n\nUse other Terraform commands as needed for different operations:\n\n- `terraform plan` to preview changes.\n- `terraform destroy` to remove resources.\n\n**Note:** Ensure Terraform is installed and configured correctly on your system. Familiarize yourself with the Terraform files and documentation to understand the infrastructure being managed.\n\n## Development\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.0.0.\n\n### Development server\n\nRun `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.\n\n### Code scaffolding\n\nRun `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.\n\n### Build\n\nRun `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.\n\n### Running unit tests\n\nRun `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).\n\n### Running end-to-end tests\n\nRun `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.\n\n### Further help\n\nTo get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.\n\n## Usage\n\n1. On the home screen, follow the instructions to obtain a Canvas access token.\n2. Paste the token into the app.\n3. Select a course from the list of courses you have access to.\n4. View the base table of students featuring columns: `student_id`, `first_name`, `last_name`, `email`.\n5. Add additional columns by selecting a data source for each new column.\n6. Export the final table to CSV as needed.\n7. Toggle column visibility by interacting with the column names.\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Maintainer\n\nUTS:CIC (Connected Intelligence Centre @ University of Technology, Sydney)\n\n---\n\n_OnTaskify: Streamlining feedback in education with innovative technology._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futs-cic%2Fontaskify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futs-cic%2Fontaskify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futs-cic%2Fontaskify/lists"}