Skip to content

qmarquez/qmarquez.portfolio.03.vidatecSeniorityTest

Repository files navigation

[PERSONAL PROJECT] [03] Vi-datec seniority test.

Dummy email client app

Heroku app: dummy_mailer

NOTE: i'm counscient that i use through all app magic strings for draft, sent and mail types.

Test state

General

  • Use Angular for UI rendering and Redux for state management(NGRX).
  • Follow the ​Eva Design guidelines​. It may make use of existing implementations likeNebular​.
  • Be responsive down to mobile phone screen sizes.
  • Use CSS flexbox / CSS grid for structuring and positioning elements
  • Use an TSLint config and a npm command to lint all files.
  • Have a README file.
  • Be stored in GitHub or GitLab.
  • Be hosted in ​Heroku​, ​Now ​or ​AWS

Login screen

  • Disallow empty fields.
  • Disallow invalid emails.
  • Reject email + password combinations as invalid, other than: {Email: [email protected], Password: test}
  • Proceed to the ​Inbox ​section of the ​Main ​screen once logged in.

Main

  • On the left, the navigation menu allows switching between the ​Inbox​, ​Drafts ​and ​Sent sections.
  • On the right, a list of emails is displayed according to the current section.
  • The list must initially show 20 messages and have a way to show all messages through pagination or infinite scroll.
  • While in the ​Inbox ​and ​Sent ​sections, clicking on an email opens the ​View ​screen.
  • While in the ​Drafts ​section, clicking on a draft opens the ​Compose ​screen.
  • Clicking the plus button on the bottom right opens the ​Compose ​screen.
  • Bonus points if the list can be searched by email and name.

View/compose

  • On the left, the navigation menu allows switching between the ​Inbox​, ​Drafts ​and ​Sent sections of the ​Main ​screen.
  • On the right, the screen contains a form with the fields: ​To​, ​Subject ​and ​Body​.
  • In the ​View ​screen, all three fields are read only and the Send button is hidden.
  • The ​To ​field is auto-completed from the email data.
  • While composing an email, the app must save a draft every 10 seconds.
  • The ​Drafts ​section of the ​Main ​screen must only show the last draft of every unsent message.
  • After clicking the send button the message should appear in the ​Sent ​section and disappear from the ​Drafts ​section.

Bonus

  • Include ​Storybook​ as documentation of your components
  • Use a real backend, preferably NesJS or another NodeJS framework
  • Dockerize your app
  • Use ​@ngrx/entity​ library

About

[PERSONAL PROJECT] [03] Vi-Datec seniority test

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published