Skip to content

Latest commit

Β 

History

History
85 lines (60 loc) Β· 3.12 KB

README.md

File metadata and controls

85 lines (60 loc) Β· 3.12 KB

πŸ’¬ MyMessenger - Frontend Demo

Explore the clean and interactive frontend of a messaging app with dark mode, responsive layout, and persistent local storage using IndexedDB. Built with Next.js, React, and TypeScript.


πŸ”₯ About MyMessenger

MyMessenger is a sleek, frontend-only messaging app that uses Next.js, React, and TypeScript for a modern chat experience.
With features like message persistence, image attachments, emoji picker, and typing indicator, this demo simulates a real-time messaging experience entirely on the client-side.

The app utilizes IndexedDB for local message and image storage, so your messages persist even after page reloads.


πŸš€ Features

  • 🎨 Dark Theme β€” polished dark UI with smooth animations
  • πŸ“± Responsive Design β€” optimized for mobile, tablet, and desktop
  • πŸ“§ Message Persistence β€” store messages and images locally in IndexedDB
  • πŸ–ΌοΈ Image Attachments β€” upload and preview images before sending
  • 😎 Emoji Picker β€” easily insert emojis into messages
  • ⏳ Typing Indicator β€” shows typing status while typing a message
  • πŸ–±οΈ Interactive Contact List β€” easily switch between chats
  • πŸ”„ Auto-Reply Simulation β€” simulate receiving a reply after a delay

🧠 Tech Stack

Technology Purpose
βš›οΈ React Dynamic UI and chat logic
🧭 Next.js File-based routing & optimization
🟦 TypeScript Type safety and structured code
🎨 Tailwind CSS Styling and responsive design
πŸ—‚οΈ IndexedDB Persistent local storage for messages and images
😎 react-icons Small, clean icons for UI elements
πŸ’¬ Next.js Client Component Entire app built as a client-side component

πŸ’‘ Description

Users can:

  • Switch between contacts and view individual chat windows πŸ–±οΈ
  • Send text messages and upload images with previews πŸ–ΌοΈ
  • All chat history, including images, is stored in the browser using IndexedDB for persistence πŸ”„
  • Use the built-in emoji picker to enhance messages 😎
  • See a typing indicator when the user is typing ⏳
  • Interact with the UI in a smooth, responsive experience πŸ’¬

This project demonstrates modern front-end techniques with persistent local storage, UI interactivity, and responsive design.


πŸ–ΌοΈ Project Preview




πŸ‘¨β€πŸ’» Author

Developed by: Your Name
πŸ’¬ Front-End Developer | Building interactive, immersive web experiences