chatverse 0.0.2 copy "chatverse: ^0.0.2" to clipboard
chatverse: ^0.0.2 copied to clipboard

A comprehensive Flutter chat library with Firebase integration, featuring advanced UI, group chat support, and real-time messaging capabilities.

ChatVerse πŸš€ #

pub package likes popularity Flutter Platform GitHub stars

A powerful and customizable Flutter chat library with Firebase integration, featuring a beautiful UI, group chat support, and real-time messaging capabilities.

Features 🌟 #

  • πŸ”₯ Firebase Integration: Built-in support for Firebase Authentication and Cloud Firestore
  • πŸ’¬ Real-time Messaging: Instant message delivery and updates
  • πŸ‘₯ Group Chat Support: Create and manage group conversations
  • πŸ“± Modern UI: Beautiful and customizable chat interface
  • πŸ“Έ Media Support: Send images, videos, and files
  • πŸ” Message Search: Search through chat history
  • πŸ‘€ User Profiles: Customizable user profiles with avatars
  • ⚑ Performance Optimized: Efficient message loading and caching
  • 🎨 Themes: Support for light and dark themes
  • 🌐 Cross-Platform: Works on iOS, Android, Web, and Desktop

Getting Started πŸš€ #

Prerequisites #

  1. Set up Firebase in your Flutter project
  2. Add the required Firebase dependencies
  3. Initialize Firebase in your app

Installation #

Add ChatVerse to your pubspec.yaml:

dependencies:
  chatverse: ^0.0.1

Basic Usage #

  1. Initialize ChatVerse
import 'package:chatverse/chatverse.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  
  runApp(MyApp());
}
  1. Set up the Chat Provider
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MultiProvider(
      providers: [
        ChangeNotifierProvider(
          create: (_) => ChatController(userId: 'current_user_id'),
        ),
      ],
      child: MaterialApp(
        // Your app configuration
      ),
    );
  }
}
  1. Display the Chat Screen
class ChatScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ChatView(
        roomId: 'room_id',
        currentUserId: 'current_user_id',
      ),
    );
  }
}

Advanced Features πŸ”₯ #

Group Chat Management #

// Create a new group
final group = await chatController.createRoom(
  name: 'Group Name',
  memberIds: ['user1', 'user2', 'user3'],
  type: ChatRoomType.group,
  adminIds: ['user1'],
);

// Add members to group
await chatController.addMembers(['user4', 'user5']);

// Remove members from group
await chatController.removeMembers(['user2']);

Media Messages #

// Send image message
await chatController.sendMessage(
  content: 'image_url',
  type: MessageType.image,
);

// Send file message
await chatController.sendMessage(
  content: 'file_url',
  type: MessageType.file,
  metadata: {'fileName': 'document.pdf', 'size': '2.5MB'},
);

Message Features #

// Reply to message
await chatController.sendMessage(
  content: 'Reply message',
  replyTo: 'original_message_id',
);

// Delete message
await chatController.deleteMessage('message_id');

// Update message
await chatController.updateMessage(
  messageId: 'message_id',
  content: 'Updated content',
);

Customization 🎨 #

Theme Customization #

ChatView(
  theme: ChatTheme(
    primaryColor: Colors.blue,
    secondaryColor: Colors.grey[200],
    userBubbleColor: Colors.blue,
    otherBubbleColor: Colors.grey[300],
    inputBackgroundColor: Colors.white,
    // ... more theme options
  ),
)

Custom Bubble Builder #

ChatView(
  bubbleBuilder: (context, message, isUser) {
    return CustomBubble(
      message: message,
      isUser: isUser,
      // ... your custom bubble implementation
    );
  },
)

Example App πŸ“± #

Check out our example app for a complete implementation of ChatVerse features.

Contributing 🀝 #

Contributions are welcome! Feel free to submit issues and pull requests.

Connect with Me 🌐 #

License πŸ“„ #

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments πŸ™ #

  • Thanks to all contributors who have helped make ChatVerse better
  • Special thanks to the Flutter and Firebase teams for their amazing platforms
3
likes
0
points
59
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter chat library with Firebase integration, featuring advanced UI, group chat support, and real-time messaging capabilities.

Repository (GitHub)
View/report issues

Topics

#chat #firebase #messaging #realtime #group-chat

Documentation

Documentation

License

unknown (license)

Dependencies

cached_network_image, cloud_firestore, emoji_picker_flutter, file_picker, firebase_auth, firebase_core, firebase_storage, flutter, flutter_chat_bubble, flutter_linkify, image_picker, intl, path_provider, provider, timeago, url_launcher, uuid

More

Packages that depend on chatverse