{"id":20205271,"url":"https://github.com/hotslab/angulartodo","last_synced_at":"2026-06-08T11:01:31.878Z","repository":{"id":184528181,"uuid":"672014596","full_name":"hotslab/angularToDo","owner":"hotslab","description":"A todo application built with Angular and AdonisJS","archived":false,"fork":false,"pushed_at":"2023-08-07T08:57:35.000Z","size":7235,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-01T13:15:09.685Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hotslab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-28T17:31:54.000Z","updated_at":"2023-07-28T19:38:36.000Z","dependencies_parsed_at":"2025-01-13T20:46:27.157Z","dependency_job_id":"22abf555-86a9-40d8-be0c-ac5db80188b4","html_url":"https://github.com/hotslab/angularToDo","commit_stats":null,"previous_names":["hotslab/angulartodo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hotslab/angularToDo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotslab%2FangularToDo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotslab%2FangularToDo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotslab%2FangularToDo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotslab%2FangularToDo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hotslab","download_url":"https://codeload.github.com/hotslab/angularToDo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hotslab%2FangularToDo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34059157,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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-14T05:16:42.664Z","updated_at":"2026-06-08T11:01:31.854Z","avatar_url":"https://github.com/hotslab.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## ANGULAR TODO APPLICATION\n\n### Frameworks used\n\n- Angular\n- AdonisJs\n\nNB: Both frameworks use `Javascript` and `NodeJs` to keep the language consistent for easy maintainance\n\n\n## Prerequisites\n\n- Node\n- Mysql / Maria database\n\n\n## Installation\n\n\n- Clone the project from the Github repo\n```\ngit clone git@github.com:hotslab/angularToDo.git\n```\n\n#### 1. Backend\n\n- Open a separate terminal.\n- Install mysql database if you do not have it, either via your linux package distributor or ideally via docker so it can be decoupled from your system.\n- Create a database called `angularToDo` or any other name to house the application data.\n- Assign a user to manage this database and keep their credentials for further use below. \n- Go to the bakend code for the project.\n\n```\ncd angularToDo/backend\n```\n- Make a copy of the .env.example file and place the mysql database credentials you created earlier into this file.\n```\ncp .env.example .env\n```\n\n- Install the node modules.\n\n```\nnpm install\n```\n\n- Run the migration files to create the tables in your database.\n```\nnode ace migration:refresh\n```\n\n- You can `seed` the database to prepopulate it with dummy data (recommended for testing).\n```\nnode ace db:seed\n```\n\n- This dummy data provides these two accounts with different privileges you can use to login and test with.\n\n|# | Role |Privileges|Email | Password |\n|---|---| ---|--- | --- |\n| 1 | Admin | Manages users and personal ToDos | manager@continental.com | test |\n| 2 | User | Manages personal ToDos |john.wick@continental.com | boogeyman |  \n\n- To create new `users` just register them in the frontend registration page\n- To create new `admins` run the following command below and follow the prompts it shows you\n```\nnode ace create:admin\n``` \n\n- Run the following command to finally `start` the server\n```\nnpm run start\n```\n\n- Start the followng command in a separate terminal to automatically create notifications for overdue ToDos, and to remove old unfinished ones.\n```\ncd angularToDo/backend\nnpm run cron\n```\n\n#### 2. Frontend\n\n- Install angular CLI if not installed to run `ng` commands\n\n```\nnpm install -g @angular/cli\n```\n\n- Open the frontend section in a seperate terminal and go to the project root \n\n```\ncd angularToDo/frontend\n```\n\n- Install the node modules\n```\nnpm install\n```\n- Modifiy the api url in the file `angularToDo/frontend/src/environments/environment.ts` to match the one displayed on the terminal for the `backend` code runing AdonisJs should it be different from what is already in the file. Ensure it is in this format: `${your_full_backend_url}/api/`\n\n\n- Run the command below to `start` the frontend server and copy the `server url` the terminal shows you, and paste it into the browser to access the site.\n```\nnpm run start\n```\n\n\n## Testing\n\n#### 1. Backend\n\n- Open a separate terminal window and go to the backend root folder.\n```\ncd angularToDo/backend\n``` \n- Run the following code.\n```\nnpm run test\n```\n- `NB:` This command `removes` the data already in the database. In the future a staging, testing and production database can be created should the application require to be deployed in production, or even for regular staging developemnt to preserve the data. You can run the seeding command again after testing to add back the dummy data again.\n\n#### 2. Frontend\n\n- Open a separate terminal window and go to the frontend root folder.\n```\ncd angularToDo/frontend\n``` \n- Run the following code.\n```\nnpm run test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotslab%2Fangulartodo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhotslab%2Fangulartodo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhotslab%2Fangulartodo/lists"}