{"id":22048743,"url":"https://github.com/pranambhat/user-management-dashboard","last_synced_at":"2025-08-28T06:08:39.661Z","repository":{"id":136959949,"uuid":"430281412","full_name":"PranamBhat/User-Management-Dashboard","owner":"PranamBhat","description":"User Management Dashboard","archived":false,"fork":false,"pushed_at":"2021-11-21T05:39:02.000Z","size":1288,"stargazers_count":4,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-10T17:07:31.748Z","etag":null,"topics":["angular","angular13","angularv13","dashboard","typescript","user-management","usermanagement","users"],"latest_commit_sha":null,"homepage":"","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/PranamBhat.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,"zenodo":null}},"created_at":"2021-11-21T05:26:45.000Z","updated_at":"2024-12-21T11:06:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"684ad39c-999b-4e26-a0dd-ca8d3b7922f4","html_url":"https://github.com/PranamBhat/User-Management-Dashboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PranamBhat/User-Management-Dashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PranamBhat%2FUser-Management-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PranamBhat%2FUser-Management-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PranamBhat%2FUser-Management-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PranamBhat%2FUser-Management-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PranamBhat","download_url":"https://codeload.github.com/PranamBhat/User-Management-Dashboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PranamBhat%2FUser-Management-Dashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272452087,"owners_count":24937465,"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","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"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":["angular","angular13","angularv13","dashboard","typescript","user-management","usermanagement","users"],"created_at":"2024-11-30T14:13:16.170Z","updated_at":"2025-08-28T06:08:39.655Z","avatar_url":"https://github.com/PranamBhat.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"- [User Management Dashboard](#user-authorization-project)\n\n  - [Running Application](#running-app)\n  - [Rules](#rules)\n  - [Roles](#roles)\n  - [About Application](#about-app)\n  - [TO DO](#to-do)\n  - [Screenshots](#screenshots)\n    - [Login - Register And Angular Form Validation](#login---register-and-angular-form-validation)\n    - [Customer](#customer)\n    - [Admin](#admin)\n    - [Super Admin](#super-admin)\n\n# User Management Dashboard\n\nWelcome to User Management Dashboard! \n\n* This application has 3 types of roles : (Super Admin, Admin, Customer) \n\n* This application has 6 pages : (Login, Register, Home, User Listing, 401 and 404)\n\n\n\u003e Some available accounts:\n\u003e\n\u003e - superadmin@mail.com\n\u003e - admin@mail.com\n\u003e - customer@mail.com\n\u003e\n\u003e   All passwords are same: `12345@Aa`\n\u003e\n\u003e   You could take a look to db.json for more account data.\n\n## Running Application\n\n\ngit clone https://github.com/PranamBhat/User-Management-Dashboard.git\n\ncd User-Management-Dashboard\n\nnpm install\n\nnpm start\n\n## Rules\n\n- All users can view Homepage when they logged in. Homepage protected by `LoginGuard (Router-Guard)` that allow to only authorized users. If user have not token will be redirect to Login page.\n- Navigation provided by Navbar buttons by using `RouterLink`. User List button will be hidden if you are not Super Admin.\n- User List page protected by `AdminGuard (Router-Guard)` that allow to access only users has role Super Admin. If Customer try to go User List page will be redirect to 401 - Forbidden page.\n- Edit user, add user, delete user functions available in User List page.\n- Username cannot be change because of used to login. Also changing the password is not allowed.\n- Admin can't change user roles and can't list other admins. When admin create a user, user's role will be Customer by the default. Also Admin can delete only customers.\n- Super Admin can update role and can list all users.\n- Super Admin can't delete itself, but can delete other Super Admin's accounts.\n- Everyone can login or register to application. But if logged user try to reach Login or Register page will be redirect to Home page. Login and Register pages protected by `NotLoginGuard (Router-Guard)`.\n- This app uses `JSON Server` for creating fake database and `JSON Server Auth` to manage login - register operations. By the way auth token has 1 hour life time.\n\n## Roles\n\n- Super Admin _(role value: 3)_\n- Admin _(role value: 2)_\n- Customer _(role value: 1)_\n\n## About Application\n\n- Created with Angular v13\n- Uses Angular Material Framework for app compoments\n- CSS template engine is SCSS\n- Bootstrap Reboot, Bootstrap Grid, Bootstrap Tables and Bootsrap Aler imported with Sass\n- Ngx Cookie Service used to handle cookies\n- User ids gererated with uuid\n- concurrently used to run multiple script commands in same time\n\n## TO DO\n\n- NGRX should be use to state managament\n- Usualy i use `toPromise()` for converting observables to promise then use in async functions with await. I think it make codes more readable and avoid problems like cold observale and unsubscribe. Now `toPromise()` is depraced, need to find new method instead of it.\n\n## Screenshots\n\n### Login - Register And Angular Form Validation\n\n![Login Page](screenshots/auth/login_screen.png)\n\n![Register Page](screenshots/auth/register_screen.png)\n\n![Angular Form Validation Error](screenshots/auth/register_form_validation_error.png)\n\n![Angular Form Validation](screenshots/auth/register_form_valid.png)\n\n### Customer\n\n![Home Page](screenshots/customer/customer_home_screen.png)\n\n![User Menu](screenshots/customer/user_menu.png)\n\n### Admin\n\n![Admin User List](screenshots/admin/admin_user_list.png)\n\n![Admin Create New User](screenshots/admin/admin_create_new_user.png)\n\n![Admin Edit User](screenshots/admin/admin_edit_user.png)\n\n![Admin User List](screenshots/admin/admin_delete_user.png)\n\n### Super Admin\n\n![Super Admin User List](screenshots/super-admin/super_admin_user_list.png)\n\n![Super Admin Create New User](screenshots/super-admin/super_admin_create_user.png)\n\n![Super Admin Edit User](screenshots/super-admin/super_admin_edit_user.png)\n\n![Super Admin User List](screenshots/super-admin/super_admin_delete_user.png)\n\n\n\n## From Developer\n\nYou can get in touch with me on my LinkedIn Profile: [![LinkedIn Link](https://img.shields.io/badge/Connect-Pranam%20Bhat-blue.svg?logo=linkedin\u0026longCache=true\u0026style=social\u0026label=Connect\n)](https://www.linkedin.com/in/pranam-bhat-11670689/)\n\nYou can also follow me on GitHub to stay updated about my latest projects: [![GitHub Follow](https://img.shields.io/badge/Connect-Pranam%20Bhat-blue.svg?logo=Github\u0026longCache=true\u0026style=social\u0026label=Follow)](https://github.com/PranamBhat)\n\nIf you liked the repo then kindly support it by giving it a star ⭐\n\n### Contact\n\nMade with :heart: by Pranam Bhat. Connect me on https://www.linkedin.com/in/pranam-bhat-11670689/\n\nFor any queries : pranam707@gmail.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranambhat%2Fuser-management-dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpranambhat%2Fuser-management-dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranambhat%2Fuser-management-dashboard/lists"}