0% found this document useful (0 votes)
29 views7 pages

Prompt 1

The document outlines the requirements for creating a modern web app named 'Tingling' that includes features like email/password authentication, real-time messaging, voice and video calling, and a friend request/block system, all built in a single HTML file. It specifies a strict UI design with specific colors, fonts, and layout, and mandates the use of Firebase v8 SDK for backend functionalities. Additionally, it details the app's functionality, including navigation, profile setup, and notification systems, while prohibiting the use of icons and requiring a mobile-first responsive layout.

Uploaded by

wisdomgain123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views7 pages

Prompt 1

The document outlines the requirements for creating a modern web app named 'Tingling' that includes features like email/password authentication, real-time messaging, voice and video calling, and a friend request/block system, all built in a single HTML file. It specifies a strict UI design with specific colors, fonts, and layout, and mandates the use of Firebase v8 SDK for backend functionalities. Additionally, it details the app's functionality, including navigation, profile setup, and notification systems, while prohibiting the use of icons and requiring a mobile-first responsive layout.

Uploaded by

wisdomgain123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 7

⚠️ STRICT INSTRUCTION:

Do not skip, modify, or creatively change anything. Every feature, UI element, and
layout mentioned below must be followed exactly. Output must be a single .html
file, no external JS or CSS. Do not use any icons — all actions and navigation must
be text-based buttons only.

---

📱 Project Overview:

Create a fully working modern web app named “Tingling” that includes:

Email/password login & signup

Realtime one-to-one messaging

Voice and Video calling (via WebRTC)

Friend request and block system

Profile system with unique user IDs

Notifications, Call logs

Theme toggle

Works with Firebase v8 SDK (auth + realtime database)

Must be built in a single HTML file

---

🎨 UI DESIGN (Follow this Exactly)

> This design must be replicated exactly — no screenshot required.

Background:

Dark navy blue (#0f0f2d), flat, no gradient or patterns

Flexbox centered layout (both vertically and horizontally)

Font:

Poppins from Google Fonts (apply to all text)

App Title:

Text: Tingling
Font-size: 32–40px

Color: Neon Pink #e94560

Text glow:

text-shadow: 0 0 10px #e94560, 0 0 20px #e94560;

Input Fields (Email, Password):

Rounded corners: 25px

Border: 2px solid #3a8bfd (neon blue)

Background: transparent

Placeholder text only (no labels)

Text color: white

Padding: 12px 20px

Max-width: 350px, width: 100%

Login/Signup Button:

Rounded pill style: border-radius: 50px

Background: #e94560

White bold text

Full width

Hover effect: glowing pink box-shadow

Link Text (Form Switch):

White text, font size 13px

Inline pink underlined link for “Sign up” or “Log in”

---

🚫 ICON RULE (Strict):

Do not use icons anywhere in the app.

No emojis, SVGs, Font Awesome, or Material Icons

Use only <button> elements with text labels

Example: "Home", "Notifications", "Calls"


---

✅ FUNCTIONALITY — STRICTLY FOLLOW EACH POINT

🔐 1. Authentication

Email/Password login & signup using Firebase Auth

Show/hide login/signup forms

Show error messages

Save user UID after login

---

2. Profile Setup

After signup, open modal to enter:

Name

Emoji (max 2 chars)

Generate unique ID format: ting-xxxx

Save profile to /users/{uid}

---

🧭 3. Navigation (Top + Bottom)

Top bar: "Menu" | "Tingling" | "Add Friend"

Bottom bar: "Home", "Notifications", "Calls"

All should be plain text buttons

Badge count must show for notifications/messages

---

👫 4. Friend System

Add friend via their ting-xxxx ID

Send friend request stored in /requests

Accept/Reject adds both users to /contacts


---

💬 5. Realtime Messaging

Realtime chat using Firebase Realtime Database

Use /messages/{chatID} path

Message bubbles:

Sent: right-aligned

Received: left-aligned

Track unread count via /unreadCounts/{uid}

Auto-scroll to new message

Delete chat option

---

📞 6. WebRTC Voice & Video Calling (STRICTLY FOLLOW)

📹 Video Call:

Start video call to friend using /calls

Use Firebase for signaling (offer/answer/ICE)

Remote video: full screen

Local video: bottom-right corner (draggable)

Show name + emoji

End call button

On call end: save log to /callLogs/{uid}

🔊 Voice Call:

Similar to video but no video stream

Show emoji, name, and status like “Calling…”, “Connected”

End call button, same signaling

Save call log

📢 Ringtone Support:
Use file named incoming.wav

This sound must play on both:

Incoming voice call

Incoming video call

It should loop until accepted or rejected

Stop sound on call accept or reject

---

📲 Incoming Call UI:

Modal popup with:

Caller name, emoji

Accept and Reject buttons

Plays incoming.wav

On Accept: start call view

On Reject: close modal, clear Firebase call entry

---

⛔ 7. Block/Unblock System

Blocked users can’t message or call

Show blocked user list with unblock option

Store in /blocked/{uid}

---

👤 8. Profile View/Edit

Modal to view:

Name

Emoji

User ID
Allow edit & save (except ID)

---

🌗 9. Theme Toggle

Default: Dark theme

Optional Light mode switch

Store selection in localStorage

Use CSS variables (--bg, --text-color, etc.)

---

🔔 10. Notifications

Friend requests under /notifications

Message + call tones (optional base64 or file)

Notification badge in bottom nav

---

🔧 Firebase Structure (Realtime Database)

/users/{uid}
/contacts/{uid}
/requests/{uid}
/notifications/{uid}
/messages/{chatID}
/unreadCounts/{uid}/{chatID}
/calls/{callID}
/iceCandidates/{callID}
/callLogs/{uid}
/blocked/{uid}

---

🧪 Firebase v8 SDK Required:

<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.1/firebase-database.js"></
script>

---
✅ Final Output

One .html file only (no other files)

Fully working chat + video + voice call app

Incoming call ringtone = incoming.wav

Strict UI based on detailed description

Firebase-powered realtime database

Mobile-first responsive layout

No icons used at all — only styled buttons with text

You might also like