{"id":13462478,"url":"https://github.com/launcher-host/mercurius","last_synced_at":"2026-01-11T16:52:19.468Z","repository":{"id":57012719,"uuid":"147903408","full_name":"launcher-host/mercurius","owner":"launcher-host","description":"Real-time Messenger for Laravel","archived":false,"fork":false,"pushed_at":"2019-02-14T14:38:02.000Z","size":3595,"stargazers_count":324,"open_issues_count":21,"forks_count":51,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-02-20T23:34:07.082Z","etag":null,"topics":["chat","chat-application","laravel","laravel-chat","laravel-messenger","laravel-package","messenger","php","pusher","vue","websockets"],"latest_commit_sha":null,"homepage":"http://mercurius.launcher.host/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/launcher-host.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-08T05:14:20.000Z","updated_at":"2025-01-23T14:26:15.000Z","dependencies_parsed_at":"2022-08-21T15:10:50.649Z","dependency_job_id":null,"html_url":"https://github.com/launcher-host/mercurius","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launcher-host%2Fmercurius","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launcher-host%2Fmercurius/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launcher-host%2Fmercurius/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/launcher-host%2Fmercurius/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/launcher-host","download_url":"https://codeload.github.com/launcher-host/mercurius/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245382179,"owners_count":20606165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","chat-application","laravel","laravel-chat","laravel-messenger","laravel-package","messenger","php","pusher","vue","websockets"],"created_at":"2024-07-31T12:00:49.086Z","updated_at":"2026-01-11T16:52:19.461Z","avatar_url":"https://github.com/launcher-host.png","language":"PHP","funding_links":[],"categories":["Uncategorized","PHP"],"sub_categories":["Uncategorized"],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.github.com/launcher-host/mercurius/\" target=\"_blank\"\u003e\n        \u003cimg width=\"450px\" src=\"docs/logo-mercurius-bold.png\" title=\"Mercurius - Messenger for Laravel\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://travis-ci.org/launcher-host/mercurius\"\u003e\u003cimg src=\"https://travis-ci.org/launcher-host/mercurius.svg?branch=master\" alt=\"Build Status\"\u003e\u003c/a\u003e\n\u003ca href=\"https://styleci.io/repos/147903408/shield?style=flat\"\u003e\u003cimg src=\"https://styleci.io/repos/147903408/shield?style=flat\" alt=\"Build Status\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/launcher/mercurius\"\u003e\u003cimg src=\"https://poser.pugx.org/launcher/mercurius/v/stable.svg?format=flat\" alt=\"Latest Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/launcher/mercurius\"\u003e\u003cimg src=\"https://poser.pugx.org/launcher/mercurius/downloads.svg?format=flat\" alt=\"Total Downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/launcher/mercurius\"\u003e\u003cimg src=\"https://poser.pugx.org/launcher/mercurius/license.svg?format=flat\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\n## Table of Contents\n\n* [About](#about)\n* [Preview](#preview)\n* [Features](#features)\n* [Screenshots](#screenshots)\n* [Demo](#demo)\n* [Installation](#installation)\n* [Customization](#customization)\n* [Roadmap](#roadmap)\n* [Support](#support)\n* [Contributing](#contributing)\n* [Changelog](#changelog)\n* [Credits](#credits)\n* [Copyright \u0026 License](#copyright-and-license)\n\n\n## About\nMercurius is a real-time messenger system using Laravel and Vue.js, featuring a complete application that you can easily install with any Laravel project.\n\n\n## Preview\n\u003ca href=\"docs/mercurius_preview_2018-oct.gif\" target=\"_blank\"\u003e\n    \u003cimg width=\"100%\" src=\"docs/mercurius_preview_2018-oct.gif\" title=\"mercurius preview\"\u003e\n\u003c/a\u003e\n\n\u003cbr\u003e\n\n## Features\n\n- Real-time Messenger\n- Responsive\n- Multilingual\n- Browser notifications\n- Unique UX, with dark theme\n- Typing indicator\n- Remove conversations and messages\n- Search recipients with auto-complete\n\n\u003cbr\u003e\n\n## Screenshots\n\u003cdiv\u003e\n    \u003ca href=\"docs/mercurius_01_home.png\" target=\"_target\" title=\"screenshot mercurius - no conversations\"\u003e\u003cimg src=\"docs/mercurius_01_home_tb.png\"\u003e\u003c/a\u003e\n    \u003ca href=\"docs/mercurius_02_view_conversation.png\" target=\"_target\" title=\"screenshot mercurius - view conversation\"\u003e\u003cimg src=\"docs/mercurius_02_view_conversation_tb.png\"\u003e\u003c/a\u003e\n    \u003ca href=\"docs/mercurius_03_messages_hover.png\" target=\"_target\" title=\"screenshot mercurius - messages hover\"\u003e\u003cimg src=\"docs/mercurius_03_messages_hover_tb.png\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cdiv\u003e\n    \u003ca href=\"docs/mercurius_04_compose_message.png\" target=\"_target\" title=\"screenshot mercurius - compose message\"\u003e\u003cimg src=\"docs/mercurius_04_compose_message_tb.png\"\u003e\u003c/a\u003e\n    \u003ca href=\"docs/mercurius_05_find_recipient_results.png\" target=\"_target\" title=\"screenshot mercurius - find recipient results\"\u003e\u003cimg src=\"docs/mercurius_05_find_recipient_results_tb.png\"\u003e\u003c/a\u003e\n    \u003ca href=\"docs/mercurius_06_user_settings.png\" target=\"_target\" title=\"screenshot mercurius - user settings\"\u003e\u003cimg src=\"docs/mercurius_06_user_settings_tb.png\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003csmall\u003eClick thumbs to enlarge image\u003c/small\u003e\n\n\u003cbr\u003e\n\n## Demo\n\nYou can [try a demo](http://mercurius-demo.herokuapp.com/login) of Mercurius. Authenticate using any of the following credentials:\n\n- `ian@launcher.host`\n- `noa@launcher.host`\n- `lua@launcher.host`\n\nPassword: `password`\n\n\nTip: Open 2 different browsers and login with different usernames, so you can test send/receiving messages.\n\n\n\u003cbr\u003e\n\n## Installation\nMake sure Laravel `5.6`+ is installed before proceed.\n\n##### 1. Setup Pusher\nIf you don't have an account, create a free one on [pusher.com website](https://pusher.com/).\nGo to the dashboard, create a new app and take note of the API credentials.\n\nNow, let's add the API keys to the `.env` file.\nAlso, change the `BROADCAST_DRIVER` to `pusher` (default is `log`).\n```php\n...\nBROADCAST_DRIVER=pusher\n...\nPUSHER_APP_ID=\"xxxxxx\"\nPUSHER_APP_KEY=\"xxxxxxxxxxxxxxxxxxxx\"\nPUSHER_APP_SECRET=\"xxxxxxxxxxxxxxxxxxxx\"\nPUSHER_APP_CLUSTER=\"xx\"\n```\n\n##### 2. Register `BroadcastServiceProvider`\nOpen `config/app.php` and uncomment the line `App\\Providers\\BroadcastServiceProvider::class,`.\n\n\n##### 3. Laravel Authentication\nSkip this step if authentication is already setup, otherwise type:\n```bash\nphp artisan make:auth\n```\n\n\n##### 4. Install Mercurius\n```bash\ncomposer require launcher/mercurius\n```\n\n\n##### 5. Configuration (optional)\nIf you want to change the default configuration, publish the config file, by typing the command:\n```bash\nphp artisan vendor:publish --tag=mercurius-config\n```\n\nFor editing the config, open `/config/mercurius.php` and add your own values.\n\n```php\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Mercurius Models\n    |--------------------------------------------------------------------------\n    |\n    | Defines the models used with Mercurius, use it to extend Mercurius and\n    | create your own implementation.\n    |\n    */\n\n    'models' =\u003e [\n        'user' =\u003e App\\User::class,\n        'messages' =\u003e Launcher\\Mercurius\\Models\\Message::class,\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | User Table Fields\n    |--------------------------------------------------------------------------\n    |\n    | You can specify the column names for the user table. The `name` accepts\n    | an array of fields, for building custom names with multiple columns.\n    |\n    */\n\n    'fields' =\u003e [\n        // 'name'   =\u003e ['first_name', 'last_name'],\n        'name'   =\u003e 'name',\n        'slug'   =\u003e 'slug',\n        'avatar' =\u003e 'avatar',\n    ],\n];\n```\n\n\n##### 6. Install Mercurius\n\n```bash\nphp artisan mercurius:install\ncomposer dump-autoload\n```\n\n\n##### 7. User trait\nAdd `Launcher\\Mercurius\\MercuriusUser` trait to your `User` model:\n\n```php\n// ...\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\nuse Launcher\\Mercurius\\MercuriusUser;\n\nclass User extends Authenticatable\n{\n    use MercuriusUser;\n    // ...\n}\n```\n\n\n##### 8. Install dummy data (for testing)\n```bash\nphp artisan db:seed --class=MercuriusDatabaseSeeder\n```\nWill add Messages and Users to the system, like in the [demo example](#demo):\n\nDemo Users:\n\n- Ian: `ian@launcher.host`\n- Noa: `noa@launcher.host`\n- Lua: `lua@launcher.host`\n\nPassword: `password`\n\n\n#### Update Mercurius\nWhenever you update Mercurius, make sure to publish assets to apply the new versions of CSS/JS.\n```php\nphp artisan vendor:publish --tag=mercurius-public --force\n```\n\n\n\u003cbr\u003e\n\n\n## Customization\nPlease see [Customization](docs/customization.md) for more information.\n\n\n\u003cbr\u003e\n\n\n## Roadmap\nCheck the [roadmap](https://github.com/launcher-host/mercurius/issues/8) for more information.\n\n- Unit Tests\n- Conversation w/ multiple users #13\n- Webhooks #16\n- Upload photos \u0026 files #14\n- Preview images and videos #15\n- Emoji support #18\n- Video Chat #19\n- Support socket.io #20\n- Search messages #17\n\n\n\n\u003cbr\u003e\n\n## Support\n- Create a [new issue](../../issues)\n- Join us on [Slack Channel](http://mercurius-demo.herokuapp.com/join-slack-launcher-host)\n\n\u003cbr\u003e\n\n## Contributing\nPlease see [CONTRIBUTING](CONTRIBUTING.md) for more information.\n\n\u003cbr\u003e\n\n## Changelog\nWe keep a [CHANGELOG](CHANGELOG.md) with the information that has changed.\n\n\u003cbr\u003e\n\n## Credits\n- [Bruno Torrinha](https://torrinha.com)\n- [All Contributors](../../contributors)\n\n\u003cbr\u003e\n\n## Copyright and license\nCopyright 2018 [Bruno Torrinha](https://torrinha.com). Mercurius is released under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauncher-host%2Fmercurius","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flauncher-host%2Fmercurius","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flauncher-host%2Fmercurius/lists"}