Skip to content

Quick Chat is a secure, feature-rich PHP and JavaScript chat application supporting real-time messaging, file uploads, user authentication, and modern UI/UX. Designed for privacy and extensibility, it’s open source under the GPL v3 license.

License

Notifications You must be signed in to change notification settings

EL-HOUSS-BRAHIM/quick_chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,742 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quick Chat - Secure Messaging Platform

Quick Chat Logo

A modern, secure, and accessible real-time messaging platform

License: GNU PHP Version MySQL

✨ Features

  • 🔐 End-to-End Encryption - Secure messaging with AES-256 encryption
  • Real-Time Communication - Instant messaging with WebSocket support
  • 🌐 Google & Facebook SSO - Easy authentication with social login
  • Accessibility First - WCAG 2.1 compliant with screen reader support
  • 📱 Progressive Web App - Works offline and can be installed on devices
  • 🎨 Modern UI - Beautiful, responsive design with dark/light themes
  • 🗂️ File Sharing - Share documents, images, and media securely
  • 📞 Voice & Video Calls - WebRTC-powered audio/video communication
  • 🔒 Advanced Security - CSRF protection, rate limiting, and suspicious activity detection
  • 🌍 SEO Optimized - Full SEO support with Open Graph and Twitter Cards
  • 🔔 Desktop Notifications - Push notifications for new messages
  • 😊 Emoji Support - Rich emoji picker and reactions
  • 🎤 Audio Recording - Voice message support
  • 📊 Audit Logging - Comprehensive security and activity logging

Installation

  1. Set up your web server (Apache/Nginx) with PHP 7.4+
  2. Create a MySQL database named 'quick_chat'
  3. Import the database schema by running: php setup.php
  4. Configure your database settings in config/config.php
  5. Set proper permissions on the uploads/ and logs/ directories
  6. Access the application in your web browser

Configuration

Copy config/config.sample.php to config/config.php and update:

  • Database credentials
  • Encryption keys (generate secure random keys)
  • Email settings for password reset
  • File upload limits
  • Application URL

Security Features

  • Password hashing with Argon2ID
  • CSRF token protection
  • Rate limiting for API endpoints
  • File upload validation
  • SQL injection prevention
  • XSS protection with input sanitization
  • Session management with secure cookies
  • Audit logging for security events

File Structure

  • index.php - Main application file
  • config/ - Configuration files
  • classes/ - PHP classes (Database, User, Message, Security)
  • api/ - API endpoints
  • assets/ - CSS, JavaScript, and other assets
  • uploads/ - File upload directory
  • logs/ - Application logs

Default Admin Account

⚠️ IMPORTANT: Change the admin password immediately after first login!

Requirements

  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Web server (Apache/Nginx)
  • Modern web browser with JavaScript enabled

License

This project is open source and available under the GNU License.

Support

For support and questions, please check the documentation or create an issue.

About

Quick Chat is a secure, feature-rich PHP and JavaScript chat application supporting real-time messaging, file uploads, user authentication, and modern UI/UX. Designed for privacy and extensibility, it’s open source under the GPL v3 license.

Resources

License

Stars

Watchers

Forks

Contributors