{"id":19495009,"url":"https://github.com/nikos-moutafis/angular-exercise-0-","last_synced_at":"2026-05-17T07:36:41.285Z","repository":{"id":154201180,"uuid":"622333530","full_name":"Nikos-Moutafis/angular-exercise-0-","owner":"Nikos-Moutafis","description":null,"archived":false,"fork":false,"pushed_at":"2023-04-24T00:05:41.000Z","size":365,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-20T07:06:06.512Z","etag":null,"topics":["angular","typescript"],"latest_commit_sha":null,"homepage":"https://nikos-moutafis.github.io/angular-exercise-0-/","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/Nikos-Moutafis.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-04-01T19:53:36.000Z","updated_at":"2023-06-29T01:00:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"ae30fcdd-3e8b-4fbd-a8e8-ed3b08a9b68d","html_url":"https://github.com/Nikos-Moutafis/angular-exercise-0-","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nikos-Moutafis/angular-exercise-0-","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikos-Moutafis%2Fangular-exercise-0-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikos-Moutafis%2Fangular-exercise-0-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikos-Moutafis%2Fangular-exercise-0-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikos-Moutafis%2Fangular-exercise-0-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nikos-Moutafis","download_url":"https://codeload.github.com/Nikos-Moutafis/angular-exercise-0-/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nikos-Moutafis%2Fangular-exercise-0-/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33130895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T06:27:06.342Z","status":"ssl_error","status_checked_at":"2026-05-17T06:26:59.432Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["angular","typescript"],"created_at":"2024-11-10T21:35:38.130Z","updated_at":"2026-05-17T07:36:41.251Z","avatar_url":"https://github.com/Nikos-Moutafis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003chead\u003e\n  \u003clink rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css\" integrity=\"sha512-qQvN2WXNz8M/sJN4i4c7aZys75OTu8iVxJVXsZl7V0zWVRu8PWV1i0mEgsNCeBtJOJBJtSeFB1tVTZ/BpYiDfQ==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" /\u003e\n\u003c/head\u003e\n\n# Angular Exercise\n\n## This app takes user's input and sorts one word a time. It sorts it based on word's length(odd or even).\n### Techniques that used :\n\n- #### Angular directives: [(ngModel)]  for two-way data binding which allows the user input to be stored in the userInput variable and displayed in the input field, *ngIf directive to conditionally show or hide the error message when the user input contains spaces. \n- #### Event binding: It uses (click) event binding to listen for clicks on the \"Submit\" button and call the onUserClick method. \n- #### Property binding: It uses [disabled] property binding to disable the \"Submit\" button when the user input contains spaces, it also uses  property bindings to pass data to the child components app-odd-length-words and app-even-length-words from parent user - input)\n  \n- #### Also used : Bootstrap, CSS\n\n\n\n\n## Test it here   ➡️ \u003ci class=\"fa-sharp fa-solid fa-arrow-right fa-beat-fade\"\u003ehttps://nikos-moutafis.github.io/angular-exercise-0-/\u003c/i\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikos-moutafis%2Fangular-exercise-0-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikos-moutafis%2Fangular-exercise-0-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikos-moutafis%2Fangular-exercise-0-/lists"}