ペルソナ5に出てくるチャットアプリを模したアプリケーション。 1対1のチャットが可能で、ユーザーアイコンの登録やブロック、メッセージ削除など基本的な機能も備えています。チャットをリアルタイムに反映するためにwebsocketを利用しています。
- 相手ユーザー入力中の吹き出しアイコンのアニメーション
- アップロード画像の切り抜き(remove.bgのAPIを使用)&2値化
- ログイン中ユーザーの可視化(gif動画のともだち名横の緑丸)
- 既読チャットの文字列を緑色に
- 3人以上でのグループチャット
- メッセージ間をつなぐ黒線の表示
- ページ全体をペルソナ風に
以下の動画・記事は大変参考にさせていただきました。
チャットアプリ全体
https://www.udemy.com/course/private-one-to-one-chat-app-with-laravel-vuejs-and-pusher/
ペルソナ風のメッセージウィンドウ
https://qiita.com/dd0125/items/070cb6950ecb052ad94b
Pull requests are welcome!!
※Docker,npmは導入前提 envファイルなどは別途共有してもらうこと
- プロジェクトをクローン
https://github.com/NiiyaDaiki/chats.git
- クローンしたフォルダに移動
cd chats
- コンテナのビルド ※長いので気長に待つ
make build
- コンテナの起動
make start
- ワークスペースに入る
make bash
- パッケージのインストール
composer install
- マイグレーションの実行
php artisan migrate
- 初期データ投入
php artisan db:seed
- アプリ起動
npm run hot
- websocketsサーバ起動(アプリ起動したターミナルとは別のターミナルでワークスペースのコンテナに入って実行)
php artisan websockets:serve
- 起動確認
http://localhost:8088