GithubHelp home page GithubHelp logo

uas-wpt-realtime-chat-wa's Introduction

Real-time WebSocket Technology Group/Public & One-to-One/Private Chat Application built with PHP and Ratchet Library

This project is a real-time chat application developed using PHP and WebSocket technology (using Ratchet Library). It provides a seamless and interactive platform for users to engage in real-time conversations, featuring two chat modes: Group/Public Chat & One-to-One/Private Chat. Built with WebSocket technology which allows a full-duplex bi-directional connection over a single TCP connection, my application provides a seamless platform for instant communication.

Frontend technologies used: jQuery, JavaScript, AJAX, Parsley JavaScript form validation library, and Bootstrap (responsive design).

Screenshots:

Group/Public Chat:

group-public-chat

One-to-One/Private Chat:

one-to-one-private-chat

Profile Page:

profile-page

WebSocket Protocol:

websocket-connection

Features:

1- Real-time Seamless Chat Messaging using WebSocket Technology (Ratchet Library).

2- Two Chat Modes: Group/Public Chat & One-to-One/Private Chat.

3- Real-time Push Notifications to show Read/Unread Messages Count.

4- Real-time User Online/Offline Status.

5- Using Ratchet PHP WebSocket Library.

6- Saving the Chat History for both Public & Private Chat Modes in a MySQL Database.

7- Multiple AJAX Requests.

8- Object-Oriented Programming.

9- Chat HTML Form Validation using Parsley JavaScript Library.

10- User Registration, Validation, Authentication, and Authorization.

11- Sending Registration Verification Code to emails using PHPMailer Library.

12- Playing different Notification Sounds when sending and receiving chat messages.

13- File Upload (profile image).

14- Regular Expression.

15- Responsive Design using Bootstrap.

Application URLs:

1- Group/Public Chat: Engage in lively discussions with ALL the Chat Application users at http://localhost:8000/group_chat.php

2- One-to-One/Private Chat: Connect with individuals privately, ensuring confidential and personalized interactions. Chat with one particular, specific, targeted user of our Chat Application members at http://localhost:8000/private_chat.php

Installation & Configuration:

1- Clone the project or download it.

2- Create a MySQL database named `chat_application`, then import the chat_application database SQL Dump File into your `chat_application` database.

3- Navigate to the database connection configuration file in Database_connection.php file and configure/edit/update the file with your MySQL database credentials and other configuration settings.

4- Navigate to the project root directory using the cd terminal command, and then start your PHP built-in Development Web Server by running the command: php -S localhost:8000.

5- From your terminal window (at the project root directory), start the WebSocket Server by running the command: php bin/server.php.

6- In your browser, go to http://localhost:8000 to login using one of the following ready-to-use account credentials:

Email: [email protected], Password: 123456

Email: [email protected], Password: 123456

Contribution:

Contributions to my Real-time WebSocket PHP Chat Application are most welcome! If you find any issues, have suggestions for improvements, or want to add new features, please open an issue or submit a pull request.

uas-wpt-realtime-chat-wa's People

Contributors

maudhioandre avatar

Watchers

 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.