Skip to content

nisha8c/BusinessMessanger-FrontEndOnly

Repository files navigation

BUSINESS MESENGER - FRONTEND ONLY

Screenshots

AppScreen screen1 screen2 screen3 screen4 screen5 scren6 screen7 screen 8 screen9 screen10 20N-1 20N-2 20N-3 2oN-4 20N-5 20N-6 20N-7 20N-8 20N-9 20N-10 20N-11 new1 new5

A modern, feature-rich messaging interface built with React and TypeScript, showcasing dynamic message composition with inline variable insertion, multimedia support, and campaign management.

✨ Features

Core Messaging

  • Rich Text Messaging: Send and receive text messages with real-time updates
  • Variable Insertion: Insert dynamic variables inline within messages for personalization
  • Message Scheduling: Schedule messages to be sent at specific times
  • Message Types: Support for text, carousel, and media messages
  • Suggestion Buttons: Add interactive quick-reply buttons to messages

Advanced Features

  • Thread Management: Organize conversations into threads for better management
  • Campaign Builder: Create and launch messaging campaigns to multiple recipients
  • Recipient Management: Add, search, and manage recipients with detailed contact information
  • Carousel Messages: Create rich carousel cards with images, titles, descriptions, and action buttons
  • Media Messages: Send images, videos, and files with captions and suggestions
  • View Modes: Switch between Chat, Scheduled, Sent, Threads, and Campaigns views

UI/UX

  • Mobile-First Design: Responsive interface with dedicated mobile frame
  • Dark/Light Mode Support: Built-in theme support via shadcn-ui
  • Typing Indicators: Real-time typing feedback
  • Empty States: Thoughtful empty state designs for all views
  • Search & Filter: Search recipients and filter messages by status

πŸ› οΈ Tech Stack

  • Framework: React 18 with TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS with custom design system
  • UI Components: shadcn-ui (Radix UI primitives)
  • Routing: React Router v6
  • State Management: React Query (TanStack Query)
  • Date Handling: date-fns
  • Icons: Lucide React
  • Form Handling: React Hook Form with Zod validation

πŸš€ Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Git

Installation

  1. Clone the repository:
git clone <YOUR_GIT_URL>
cd <YOUR_PROJECT_NAME>
  1. Install dependencies:
npm install
  1. Start the development server:
npm run dev
  1. Open your browser and navigate to http://localhost:5173

πŸ“ Project Structure

src/
β”œβ”€β”€ components/          # React components
β”‚   β”œβ”€β”€ ui/             # shadcn-ui components
β”‚   β”œβ”€β”€ MessageBubble.tsx
β”‚   β”œβ”€β”€ CarouselMessage.tsx
β”‚   β”œβ”€β”€ MediaMessage.tsx
β”‚   β”œβ”€β”€ ThreadBuilder.tsx
β”‚   β”œβ”€β”€ CampaignItem.tsx
β”‚   └── ...
β”œβ”€β”€ pages/              # Route pages
β”‚   └── Index.tsx       # Main application page
β”œβ”€β”€ lib/                # Utility libraries
β”‚   β”œβ”€β”€ utils.ts
β”‚   β”œβ”€β”€ chipHelpers.ts
β”‚   └── dropdownHelpers.ts
β”œβ”€β”€ utils/              # Utility functions
β”‚   β”œβ”€β”€ messageCreator.ts
β”‚   └── time.ts
β”œβ”€β”€ hooks/              # Custom React hooks
β”œβ”€β”€ index.css           # Global styles & design system
└── main.tsx            # Application entry point

🎨 Design System

The project uses a comprehensive design system defined in src/index.css and tailwind.config.ts:

  • Semantic Color Tokens: HSL-based color system for consistent theming
  • Gradients: Pre-defined gradient utilities (bg-gradient-tech, etc.)
  • Message Styles: Custom message bubble colors and states
  • Responsive Typography: Mobile and desktop font scaling
  • Dark Mode: Automatic theme switching support

πŸ“± Usage

Sending Messages

  1. Type your message in the input field at the bottom
  2. Use { to insert variables (name, email, mobile)
  3. Click send or press Enter

Creating Threads

  1. Navigate to the Threads view
  2. Click "Create Thread"
  3. Add multiple messages with different types
  4. Save the thread for reuse

Launching Campaigns

  1. Navigate to Campaigns view
  2. Click "Create Campaign"
  3. Select a thread and recipients
  4. Launch to send to all selected contacts

Scheduling Messages

  1. Compose your message
  2. Click the clock icon
  3. Select date and time
  4. Confirm to schedule

πŸ”§ Development

Available Scripts

  • npm run dev - Start development server
  • npm run build - Build for production
  • npm run preview - Preview production build
  • npm run lint - Run ESLint

Building for Production

npm run build

The built files will be in the dist/ directory, ready for deployment.

πŸš€ Deployment

You can deploy to any static hosting service (Vercel, Netlify, etc.) by building the project and uploading the dist/ folder.

About

This is an example frontend of RCS platform

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published