{"id":42804609,"url":"https://github.com/mmustra/address-book-client","last_synced_at":"2026-01-30T03:39:24.933Z","repository":{"id":38600815,"uuid":"242214475","full_name":"mmustra/address-book-client","owner":"mmustra","description":"Client built with Angular 8 and Ant Design UI","archived":false,"fork":false,"pushed_at":"2025-05-25T10:23:38.000Z","size":568,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-08T19:28:07.504Z","etag":null,"topics":["angular","antd-design","ngxs","rxjs"],"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/mmustra.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,"zenodo":null}},"created_at":"2020-02-21T19:24:17.000Z","updated_at":"2025-05-25T10:23:41.000Z","dependencies_parsed_at":"2025-05-25T11:22:56.005Z","dependency_job_id":"85e5028a-826b-4582-badb-55d0a3938128","html_url":"https://github.com/mmustra/address-book-client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mmustra/address-book-client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmustra%2Faddress-book-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmustra%2Faddress-book-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmustra%2Faddress-book-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmustra%2Faddress-book-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mmustra","download_url":"https://codeload.github.com/mmustra/address-book-client/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mmustra%2Faddress-book-client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28899206,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T03:36:35.398Z","status":"ssl_error","status_checked_at":"2026-01-30T03:36:34.949Z","response_time":66,"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","antd-design","ngxs","rxjs"],"created_at":"2026-01-30T03:39:24.220Z","updated_at":"2026-01-30T03:39:24.924Z","avatar_url":"https://github.com/mmustra.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Address Book Client\n\nThis is client part of Address Book project which allows you to manage contacts.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./resources/demo.png\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./resources/angular.png\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"./resources/antd.png\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"./resources/ngxs.jpg\"\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"./resources/rxjs.png\"\u003e\n\u003c/p\u003e\n\n## Table of Contents\n\n- [About](#about)\n- [Usage](#usage)\n- [Features](#features)\n- [Technologies](#technologies)\n- [Development](#development)\n\n## About \u003ca name=\"about\"\u003e\u003c/a\u003e\n\nWeb app with simple and clean design usable on desktop as well on mobile devices. Different roles give different access privileges with frontend guards (disabled/hidden elements) as well with backend guards (error messages). For more info about the api, check out [server part](https://github.com/mmustra/address-book-server) built with NestJS and MongoDB.\n\n## Usage \u003ca name=\"usage\"\u003e\u003c/a\u003e\n\nAccess application either by \"Quick login\" or by registerting. If you choose to register, you will be assigned wih lowest role (User) by default. Once you log in you can edit your profile, manage your contacts and depending on the role have ability to see or edit other contacts and users. Role permissions info are available under info icons at \"Quick login\" dropdown.\n\n| Roles     | User Actions           | Contact Actions        |\n| --------- | ---------------------- | ---------------------- |\n| Admin     | RUD `any` / RU\\* `own` | RUD `any` / CRUD `own` |\n| Moderator | R `any*` / RU\\* `own`  | RU `any*` / CRUD `own` |\n| User      | - `any` / RU\\* `own`   | - `any` / CRUD`own`    |\n\nany\\* - except Admin  \nU\\* - except \"Quick login\" users\n\n## Features \u003ca name=\"features\"\u003e\u003c/a\u003e\n\n- Lazy loaded modules\n- Guarded routes\n- State manager, cached page changes\n- Role based permissions\n- Request and response error interceptors\n- Reactive forms, dynamic controls, validations\n- Custom components\n- Login redirects\n- Responsive design\n\n## Technologies \u003ca name=\"technologies\"\u003e\u003c/a\u003e\n\n- Angular 8\n- Ant Design (ng-zorro)\n- NGXS, immer\n- ngx-permissions\n- RxJS, lodash, random-material-color...\n\n## Development \u003ca name=\"development\"\u003e\u003c/a\u003e\n\nRun `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.\n\n#### Requirements\n\n- Node [v10.16.3](https://nodejs.org/download/release/v12.13.0/), Npm v6.9.0, (you can use [nvm](https://github.com/nvm-sh/nvm) or [nvm-windows](https://github.com/coreybutler/nvm-windows))\n- Angular Cli [v8.3.5](https://www.npmjs.com/package/@angular/cli/v/8.3.5)\n\n#### IDE\n\n[Visual Studio Code](https://code.visualstudio.com/) is recommended. [Prettier](https://prettier.io/) is used as formater for the project.\n\n#### Web Browser\n\nUse Redux DevTools addon (available for Chrome and Firefox) for debugging state container.\n\n#### Code style\n\nBe sure to follow current folder structure and code style in the project. Use Typescript to create better code environment with your contributions. Before adding new packages to project be sure to first check `package.json` for possible duplicates.\n\nFor generating new angular components use `ng generate`.  \nExample: `ng generate component component-name`\n\nYou can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).\n\n#### Scripts\n\n##### Serve\n\nRun `ng serve` to serve the project. Use the `--prod` flag for a production build.\n\n##### Build\n\nRun `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.\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 [Protractor](http://www.protractortest.org/).\n\n## License\n\nThe MIT License ([MIT](./LICENSE))  \nCopyright (c) 2020-present, Marin Muštra\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmustra%2Faddress-book-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmmustra%2Faddress-book-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmmustra%2Faddress-book-client/lists"}