Scope of work: The objective is to give visitors with access to a web browser and audio controls, an option to record a voice note and have it stored for future delivery at a specified time.

Prototype: https://www.zeoztime.com.

Note: Use existing code and design to complete prototype.

1. Workflow
a. Record message
b. Enter
i. recipient name
ii. recipient email
iii. delivery date and time (UTC)
1. Google Time Zone API.
a. First phase all time selected is UTC
c. Sign in (skip if signed in)
i. Twitter.
ii. Gmail.
iii. Meta.
iv. LinkedIn.
v. Apple ID.
1. Site terms
a. Decline = return home
b. Accept = continue
d. Confirmation (when days equal 0 then skip payment to confirmation. When days greater than 0 then 1st payment)
e. Payment
i. Stripe
1. Check if stripe has limit. If it is e.g. 1,000 days then do not allow user to select date further than this.
f. Confirmation
g. Return to record next message.

2. Sitemap
a. Landing
b. Sign in
c. Payment
d. Confirmation
e. Record player (for receiver to hear message)
f. Terms of Use
g. Privacy Policy

Landing page:

Page Title: Timeless. A time capsule for all ages.
Icon: Capsule
Content:

1. When sender lands at zeoztime.com.

Theme: White background when not recording, stopped or complete. Turn black when recording in progress.

Heading:
Postdate message

((recording button that indicates recording. Play a beep when it starts and stops.))
(countdown time)

For personal & business use

when recording starts, hide text above in red.

3. Give sender option to record a 60 second voice note.
a. Notes:
i. Use control that is compatible across most OS (use control used at https://www.zeoz.company). The current one does not work on iOS for example.
ii. Countdown from 60 seconds with milliseconds showing when recording. Do not count up.
iii. When recording stopped display the following:

4. Panel = Receiver
a. Name
b. Email
5. Panel = Delivery
a. Calendar and Time control UTC
i. Below date and time selected
1. When delivery day count equal 0 then display message: Same day free delivery.
2. When delivery day count greater than 0 then display: Estimated cost USD $(days in storage)
a. No need to show 2 decimal values.
i. Question to programmer: Are we able to count days at this point or on continue??

6. Button = Send to Voice Bank
a. Loader a must in simple text:
i. Loading…

Check if sender is signed in and delivery days count
o If yes then
 Count delivery days
• When = 0 then take sender to a confirmation page saying:

• Instructions received:
o Receiver Name
o Email
o Delivery Date
o Time UTC
o Storage Fee: FREE

We’ll email you a receipt when you’re is heard.
 After 5 second countdown (display) return home.

• When delivery days greater 0 then take to a payment page where the amount to pay will be fixed to equal number of days in storage.
 After successful payment, take user to the confirmation page.

• Instructions received:
o Receiver Name
o Email
o Delivery Date
o Time UTC
o Storage Fee: $(delivery days)

We’ll email you a receipt when you’re is heard.
 After 5 second countdown (display) return home.

o If not then take to a Sign in page with sign in options.
 Show user Terms of Use
 Option to agree or decline
• Decline return to landing page.
• Agree
o Count delivery days. Resume process after checking sender is signed.

 7. Run service 1 to check what emails are scheduled for release every second.
a. Send email to recipient on day and time of message release with direct link to voicemail. No account required.

8. Run service 2 to check every second what messages have not been heard. For messages unheard send 1 reminder every 24 hours for 6 days.
a. If less than 6 days in storage then only send till 1 day before delivery date.

9. Run service 3 to check every second to delete voice note audio file that is +7 days past delivery.

10. Keep track of site data for display on homepage e.g.

a. Number of voicemails sent since 1st message date.
b. User count.
c. Sum of days messages in storage.
d. Count of messages unheard.
e. Count of messages delivered (heard).

11. Emails
a. Welcome on agreeing to site terms – trigger.
b. Receipt to sender – trigger.
c. Delivery to recipient – service.
d. Message to sender when message heard – trigger.
e. Reminder to receiver when not heard – service.
f. Message to sender and receiver when message unheard – service
i. EMAIL CONTENT TO BE SUPPLIED WHEN TRIGGERS AND SERVICES READY.

Posted On: August 10, 2024 22:15 UTC
Category: Full Stack Development
Skills:Web Application, API Integration, SQLite, MySQL, Stripe API

Country: GBR

click to apply

Powered by WPeMatico