Giter Site home page Giter Site logo

sm-email's Introduction

SM Angular Email

This project allows user to send, cc and bcc emails to multiple recipients via an online form.

Screen recording

sm email

Development server

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.

Instructions

  • Enter an email and press ; or Enter Key to save an email into multiple email pills
  • To see the validation messages, you have to BLUR on the input filed. This pattern is for hiding annoying error messages when user type email address.
  • After saving an email address, this email address will be available in the auto-suggestion list
  • Validation rules
  • Server response is mocked and always successful

Technical implementation

  • Email module is an individual module with module route
  • Email module has no external service or component dependencies
  • Form is implemented based on Angular reactive form
  • Multiple email control is implemented based onAngular ControlValueAccessor
  • Multiple emails Validation is piped through reactive form custom validator
  • Typeahead directive is from ng-bootstrap

Potential improvement

  • Centralized notification service
  • Global interceptor that handles error messages
  • Full screen masked loader
  • More clear form layout probably depends on focus group feedback

Notes

This repo only contains a front end as agreed. Initially, I was implementing this with Vue and Node until I got more clarity from Stefano. After realising that using an unfamiliar framework may affect my chance to pass this test, 3 days ago I decided to switch to angular to fully show my technical skills. Here is the previous incomplete Vue & Node stack just for reference.

sm-email's People

Contributors

zac1st1k avatar

Watchers

 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.