Coder Social home page Coder Social logo

mmustra / address-book-client Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 564 KB

Client built with Angular 8 and Ant Design UI

Home Page: https://mmustra-address-book.herokuapp.com

License: MIT License

JavaScript 1.17% TypeScript 59.06% CSS 17.03% HTML 22.74%
angular antd-design ngxs rxjs

address-book-client's Introduction

Address Book Client

This is client part of Address Book project which allows you to manage contacts. See it in action.

           

Table of Contents

About

TLDR: Address Book DEMO

Web 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 built with NestJS and MongoDB.

Usage

Access 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.

Roles User Actions Contact Actions
Admin RUD any / RU* own RUD any / CRUD own
Moderator R any* / RU* own RU any* / CRUD own
User - any / RU* own - any / CRUDown

any* - except Admin
U* - except "Quick login" users

Features

  • Lazy loaded modules
  • Guarded routes
  • State manager, cached page changes
  • Role based permissions
  • Request and response error interceptors
  • Reactive forms, dynamic controls, validations
  • Custom components
  • Login redirects
  • Responsive design

Technologies

  • Angular 8
  • Ant Design (ng-zorro)
  • NGXS, immer
  • ngx-permissions
  • RxJS, lodash, random-material-color...

Development

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Requirements

IDE

Visual Studio Code is recommended. Prettier is used as formater for the project.

Web Browser

Use Redux DevTools addon (available for Chrome and Firefox) for debugging state container.

Code style

Be 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.

For generating new angular components use ng generate.
Example: ng generate component component-name

You 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.

Scripts

Serve

Run ng serve to serve the project. Use the --prod flag for a production build.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

License

The MIT License (MIT)
Copyright (c) 2020-present, Marin Muštra

address-book-client's People

Contributors

mmustra avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.