{"id":20323540,"url":"https://github.com/dplocki/angular-notes-manager","last_synced_at":"2026-04-10T21:04:00.705Z","repository":{"id":176973593,"uuid":"658035040","full_name":"dplocki/angular-notes-manager","owner":"dplocki","description":"A small recrument project (Angular) - the web notes manager","archived":false,"fork":false,"pushed_at":"2024-09-04T17:15:50.000Z","size":1313,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-06T00:28:09.018Z","etag":null,"topics":["angular","angular16","localstorage","nodejs","notes-manager","recruitment-task","serverless","single-page-app","typescript"],"latest_commit_sha":null,"homepage":"","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/dplocki.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-06-24T15:05:33.000Z","updated_at":"2024-09-04T17:15:47.000Z","dependencies_parsed_at":"2023-07-08T11:46:49.856Z","dependency_job_id":"4ec00764-2b93-42ec-aa65-a32f1c7b2e76","html_url":"https://github.com/dplocki/angular-notes-manager","commit_stats":null,"previous_names":["dplocki/angular-notes-manager"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplocki%2Fangular-notes-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplocki%2Fangular-notes-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplocki%2Fangular-notes-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplocki%2Fangular-notes-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dplocki","download_url":"https://codeload.github.com/dplocki/angular-notes-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241827169,"owners_count":20026601,"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":["angular","angular16","localstorage","nodejs","notes-manager","recruitment-task","serverless","single-page-app","typescript"],"created_at":"2024-11-14T19:28:34.498Z","updated_at":"2026-04-10T21:04:00.699Z","avatar_url":"https://github.com/dplocki.png","language":"TypeScript","readme":"# 🗒️ Angular Notes Manager\n\nThis is a small Angular 2 application. The main and only purpose of this app is to manage notes, which are saved in the browser's `localStorage`. It allows users to create, edit, and delete notes, and it also supports autosave.\n\n## 📜 Historic background\n\nThis was a recruitment project and also one of my first projects in Angular (I had a few in AngularJS before). I decided to upgrade it, as I couldn't run it, even with the proper Node version from that time.\n\nAt the time (around 2016) I have used Angular 5, based on Node 7.\n\nThe original code is available in this repo by tag: [1.0.0](https://github.com/dplocki/angular-notes-manager/releases/tag/1.0.0).\n\n## ⌨️ Current state\n\n* uses Angular 20\n* the favicon comes from https://www.freefavicon.com/\n* promises has been replaced by observables\n\n## 🛠️ Docker\n\n```sh\ndocker build . -t angular-notes-manager\ndocker run --rm -p 4200:4200 -p 9876:9876 -p 49153:49153 -it angular-notes-manager\n```\n\n### Running the Angular app in container\n\nEnter the image:\n\n```sh\ndocker run --rm -p 4200:4200 -p 9876:9876 -p 49153:49153 -v $(pwd):/build -it angular-notes-manager /bin/sh\n```\n\nYou need to specify the host of the app (in `angular.json` configuration file) or by command:\n\n```sh\nng serve --host 0.0.0.0\n```\n\nThe need ports are: `4200` and `49153` for refresh.\n\n## 📝 Notes\n\n### Docker and karma tests\n\nTurns out it is not so easy. There are many tutorials on how to run Karma inside the docker container, but they seem not to be working now (most of them were made at least a few years ago). Probably, Chrome has changed. Definitely, the link to Google Chrome has changed.\n\nLuckily I found the solution: [How to run Karma tests from docker container? - the third replay](https://stackoverflow.com/a/72306681). Based on that I have adjusted my [Dockerfile](./Dockerfile).\n\n### Running test during CI\n\nUnfortunately, running the unit test during gateway checking was also not so easy. Finally, the following command runs properly:\n\n```sh\nng test --browsers=ChromeHeadless --no-watch --no-progress\n```\n\n### Visual Code extensions:\n\n* [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)\n* [Angular Language Service](https://marketplace.visualstudio.com/items?itemName=Angular.ng-template)\n* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) - for support the eslint detection in the Visual Code\n* [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) - for automatic unit test support (works in Dev Containers, but little too slow and can crash)\n* [Karma Test Explorer (for Angular, Jasmine, and Mocha)](https://marketplace.visualstudio.com/items?itemName=lucono.karma-test-explorer)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdplocki%2Fangular-notes-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdplocki%2Fangular-notes-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdplocki%2Fangular-notes-manager/lists"}