Giter Site home page Giter Site logo

cuongdo926 / messenger Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rtippin/messenger

0.0 0.0 0.0 7.98 MB

Laravel messenger. A full messenger suite for your new / existing laravel app! Private and group threads between multiple models, with real-time messaging, reactions, attachments, calling, chat bots, and more!

Home Page: https://tippindev.com

License: MIT License

PHP 100.00%

messenger's Introduction

Laravel Messenger

Latest Version on Packagist Total Downloads Tests StyleCI License


Preview


Prerequisites

  • PHP >= 7.4 | 8.0
  • Laravel >= 8.42
  • laravel broadcast driver configured, and your own websocket implementation.
  • SubstituteBindings::class route model binding enabled in your API / WEB middleware groups.

Features

  • Realtime messaging between multiple models, such as a User, Admin, and Teacher model.
  • RESTful API, allowing you to make your own UI or connect to a mobile app.
  • Support for morph maps on your provider models. See: Morph Maps
  • Private and group threads.
  • Permissions per participant within a group thread.
  • Send image, document or audio messages.
  • Message reactions, replies, edits, and deletion.
  • Group thread chat-bots. Bot addon
  • Friends, Search, and Online status systems.
  • Provider, group thread, and bot avatars.
  • Underlying calling system you can extend.
  • Group thread invitation links (like discord).
  • All actions are protected behind policies.
  • Scheduled commands for automation cleanup and checks.
  • Queued jobs fired from our event subscribers.
  • Most features can be toggled at runtime using our Messenger facade.
  • Optional extra payload when sending messages to allow custom json to be stored with the message.

Upcoming for v2

  • Temporary Ephemeral conversations.
  • Improved API pagination / filters.
  • Possible extraction of friends system.
  • Better image manipulation / saving of multiple sizes.
  • Encryption of messages (E2E is the long term goal).

Notes

  • Read through our messenger.php config file before migrating!
  • Calling is disabled by default. You are responsible for implementing your own media server or connecting to a 3rd party service.

Installation

Composer

$ composer require rtippin/messenger

To complete our setup, please refer to the installation docs listed below:


Documentation


Addons / Demo

  • Messenger Bots - Bot functionality is built into the core of this MESSENGER package, but you are responsible for registering your own bot handlers.
  • Messenger Faker - An addon package useful in dev environments to mock/seed realtime events and messages.
  • Messenger Web UI - Addon package containing ready-made web routes and publishable views / assets, including default images.
  • Demo App - You may view our demo laravel 8 source with this package installed, including a Live Demo.

Credits - Richard Tippin

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

messenger's People

Contributors

rtippin avatar ajnozari avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.