Real time Messaging System using PHP and Firebase

24
Posted at January 13, 2019 9471 Views . 0 Saved .

Hi Friends, Here i am going to share source code of real time one on one messaging system for php application using Firebase Nosql Database. 


We all know php lacks in Real time communication and there are many application running in PHP based Server. So if you are interested to add real time messaging system in your app this is right example for you. We can also use Node.js to do this same kind of thing but for that we also need nodejs compatible server. 


Requiremets..

1 - PHP Application with Login System

2 - Firebase Project

3 - Firebase Admin SDK for PHP. 

      Note : I already added Admin SDK in my package so it is not required now but if you are interested to download it you can composer to download this via 

    composer require kreait/firebase-php ^4.18


To Create a Firebase Project visit https://console.firebase.google.com

1 - Click on Add Project

2 - Select Country and Language and so on. Once your project created click on the project app and then select web option out of 3 options

3 - then open your project and click on authentication

4 - Click on 'Sign in method' Tab and enable Email/Password Authentication

5 - In your firebase project app, on the left side there will be an icon of gear symble click on that and then click on project settings and click on Service Accouts and click on generate a new private key it will download a .json file and place it in your root directory



Now you are ready to download my package form github or you can clone it from this url https://github.com/Rizwan17/messenger.git


Steps to configure it

1 - Creat a Database in mysql(phpmyadmin) phpfirebase

CREATE DATABASE phpfirebase;


2- Create two tables users and chat_record

CREATE TABLE IF NOT EXISTS phpfirebase.users (

id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,

    uuid VARCHAR(36) NOT NULL,

    username VARCHAR(50) NOT NULL,

    password VARCHAR(100) NOT NULL,

    UNIQUE KEY (uuid, username)

);


CREATE TABLE `chat_record`(

    `chat_uuid` VARCHAR(36) NOT NULL,

    `user_1_uuid` VARCHAR(36) NOT NULL,

    `user_2_uuid` VARCHAR(36) NOT NULL,

    UNIQUE KEY (chat_uuid)

);


ALTER TABLE users ADD fullname VARCHAR(100) NOT NULL AFTER uuid;


Now once again back to firebase console click on project overview and then click on web and copy the config code and paste it in inside the project folder phpfirebase/js/config.js file and now you can execute it 



and also watch the video for more clarification



Thanks for coming




India
Coding is an art and I love art
7 Comments
fadly_29
Why When I Register,But The All Register Data Its Nothing In My Database??
fadly_29
Where Its The Config Code? Where Its The Config Code
habib_ch
Thanks a lot. I had faced the following errors while running your GitHub code. If anyone else has faced these errors then you can solve them by following ways: 1: Rizwan has posted a code to build MySQL DB, when you run his commands then you can't see an email column in the users table, you have to make it your self. 2: If anyone faces the following exception firestore: PERMISSION_DENIED: Missing or insufficient permissions then solve it by the following solution https://stackoverflow.com/questions/46590155/firestore-permission-denied-missing-or-insufficient-permissions
chintan1
one to one chat working fine. i am also find group chat can you share any idea.
salman001
Thank you so much sir.
mahnisschaudhary
hello sir, i just want to learn how this program works ? could you plz help me out ?
herve
please can you send to me source code on my email please can you send to me, source code of this project.
Rizwan Khan
you can download it from here https://github.com/Rizwan17/messenger.git