Skip to content

ibrahim11elian/Realtime-Chat-App-Chatify

Repository files navigation

Realtime Chat Application

screenshot

This is a realtime chat application built on top of Laravel and Chatify. The application allows users to send and receive messages in real-time, with features such as message attachments, seen status, and user authentication, light and dark themes, all within a simple and intuitive interface.

Features

  • Realtime messaging using Laravel Echo and Pusher
  • User authentication and authorization
  • Real-time contact list updates.
  • Favorite users system (Like stories style).
  • Saved Messages to save your messages online like Telegram messenger app.
  • Search functionality.
  • Contact item's last message indicator (e.g. You: ....).
  • Real-time user's active status.
  • Real-time typing indicator.
  • Real-time message seen indicator.
  • Real-time internet connection status.
  • Upload attachments (Photo/File).
  • Send Emoji's.
  • User details panel (Shared photos, delete conversation..).
  • Responsive design with all devices.
  • User settings and chat customization : user's profile photo, dark mode and chat color. with simple and wonderful UI design.

Requirements

  • PHP >= 8.0
  • Composer
  • Node.js and npm
  • MySQL or compatible database
  • Pusher account for real-time communication

Installation

1. Clone the Repository

git clone https://github.com/ibrahim11elian/Realtime-Chat-App-Chatify.git
cd Realtime-Chat-App-Chatify

2. Install Dependencies

Install the PHP dependencies:

composer install

Install the Node.js dependencies:

npm install

3. Environment Setup

Copy the .env.example file to .env:

cp .env.example .env
php artisan key:generate

4. Database Setup

  • Create database and modify .env with your DB name and Pusher credentials.

  • Run the following command to create the database tables:

php artisan migrate

5. Storage Link

Create a symbolic link from public/storage to storage/app/public:

php artisan storage:link

6. Compile Assets

Compile the CSS and JavaScript assets:

npm run dev

or

npm run production

7. Run the Application

php artisan serve

The application will be accessible at http://127.0.0.1:8000.

8. Deployment

For production, ensure you set APP_ENV=production and APP_URL to the correct HTTPS URL. in your .env file and use the following build command:

composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan storage:link
php artisan view:clear
npm install
npm run build

Live Instance

You can view the live instance of the application at This link You just need to create an account, and have fun 😀.

Author

LinkedIn Facebook Gmail WhatsApp Instagram Twitter LeetCode