top of page

Project Details

Overview

Create a phone book application that stores contact information. Each site member using this application should be able to see only their own, individual contact lists with corresponding contact details, add new contacts to their lists, and get in touch with their contacts via email.

 

Each phone book contact should include fields for: a first name, last name, image, birthday, email address and phone number (the phone number field should have no specific formatting). Feel free to add more fields if you’d like

 

The application will include 4 views: a Homepage, Contact Page, a ‘Remove Contact Confirmation’ Lightbox and an ‘Add Contact’ Page.

Section 1

•  Homepage: The Homepage will present all the contacts that the logged-in user added in the application. It should include a repeating element with the name and image of each contact. Clicking on a contact should lead the user to the Contact’s Page. The homepage should also include a button that redirects users to the ‘Add Contact’ Page

 

•  Contact Page: The Contact Page will present a single contact’s details. It should contain all the data of the individual phone book contact (with the fields listed above), a ‘Remove’ button that will open the ‘Remove Contact Confirmation’ Lightbox, and a section for the site member to send an email to the contact. That email section should include: a textbox for the email’s content, a ‘Send Email’ button, a success message for when the email is sent and a failure message if the email was not sent.

 

 ‘Remove Contact Confirmation’ Lightbox: This lightbox will allow users to delete a contact. The lightbox should include a ‘Yes’ button to approve a deletion and lead the user back to the homepage, and a ‘No’ button for canceling the deletion action, which will close the lightbox and lead users back to the Contact’s page.

 

 ‘Add Contact’ Page: This page will allow site members to add new contacts to their contact list using a form. Make sure that the form allows users to add all the fields for each contact listed above.

 

You should also implement one of the following features:

1) a Happy Birthday Email feature that runs a daily scheduled job and sends a ‘Happy Birthday’ email to the contacts who are celebrating a birthday

2) a Contacts API that exposes an API endpoint for getting all the contacts, and another endpoint for deleting a contact.

Section 2

•  Design is not a part of the review process, but we encourage you to make your app look presentable

 

•  Don’t worry about making your app responsive on mobile. We’ll be reviewing it on desktop.

 

•  Only approved site members should be able to log in to the application using a login system (Tip: use the built-in Wix system to allow approved site members to log in without requiring the site owner’s permission).

 

•  We’d like to evaluate your usage of an external API, so emails should be sent using an external email service provider. That external API must be called from the backend (not the frontend) and API keys must be stored in the Velo Secrets Manager

 

•  Use the Wix-Users Module to specify which phone book contacts belong to which user, and to allow each site member to access their own list of phone book contacts

 

•  Not all functionality requires coding. Read more about it in this article on connecting page elements.

 

•  Treat this assignment like you’d treat a project for a client, making sure to QA from incognito mode using a new user account (non-admin).

© 2023 by KAM Proudly created with Wix.com

Subscribe for VCP Updates!

Thanks for submitting!

bottom of page