webdevid / ChatX

Simple PHP & jQuery chatroom project with flat file database

Home Page:https://xlns.ru/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ChatX

Simple free PHP & jQuery chat project with flat file database

Demo on CodePen

What is ChatX?

ChatX is a highly customized and refined version of the first iteration of ShoutBox script originally introduced on Tutorialzine in 2015.
The script uses flat file database, built with Flywheel, RelativeTime PHP libraries & jQuery. It's easy to install and modify, works great with PHP 5.6 or higher hosting services.
The idea behind the development of ChatX was to create an easy-to-use compact chat widget with fully-customizable color schemes, capable of working on any web-site with the code installed.

Preview image

Why ChatX?

There are plenty chatroom implementations on the web, still ChatX may be different from its many alternatives. But what is it about ChatX that makes it a bit special?
To begin with, we believe that a chat is more convenient when it remains on screen: whatever you do or wherever you navigate on the website ChatX is always within reach but never obstructing the view. You can drag and resize it, expand or minimize within your browser viewport making it the most suitable for you. And the chat will remember every state.
Then, ChatX is very easy to install. Just unzip the archive on your hosting and the script is ready to go! No MySQL databases, complex dependencies or additional setups. PHP 5.3-5.6 or higher is enough. It must work nicely even on a free web-hosting.
The simplicity is stupidly impressive. Yet ChatX has all the main settings a regular chat should have. And more, you can easily manage the chat global functions without the necessity to have knowledge in coding. Just a perfect solution if you are a beginner not willing to spend hours understanding things in Javascript or PHP.
We love ChatX wholeheartedly. And we do our best to make it user-friendly. It's free, without ads or distracting copyrights.


Main features:

  • Flat file database
  • Easy installation
  • Modest. No need for a bunch of dependencies, does not load your hosting resources too much
  • Asynchronous loading
  • Works well with many websites
  • Compact and modern look
  • Draggable, resizable widget. Remembers position on page
  • Modern-looking widget
  • Supports Emoji (EmojiOne, updated ver. 3.1.2)
  • Autoloads new shouts through JSON every 30 secs on slow track and every 5 secs on fast track (customizable via settings)
  • 240 char per message. Limit also specified on backend server side (customizable through settings)
  • Languages: Eng / Rus (more to come)
  • BB-tags: bold; italic; underlined; text color; images; links;
  • Media uploader (via imgur.com)
  • Easy settings and stylesheet customization
  • Changelog:

    ver 1.4.0
  • Close button that minifies chat
  • Stop Get query when minimized and restore on expand
  • New universal scrollbar
  • Pulsating indicator when in fast track mode
  • Open links in new window
  • Simpler code (in process of developing universal widget)
  • Updated Draggable.js library, now ChatX works with great variety of jQuery libraries
  • ver 1.5.0
  • a better way of loading CSS
  • Interface translation simplified
  • UI improvements
  • Moderation page
  • Updated icon while uploading image
  • Fixed when image was uploaded but not sent due to the empty name field
  • script.js --> core.js
  • Updated widget (simpler installation)
  • Beta Authentication (login & sign up)
  • Public & Private mode
  • New Settings.php file with easily customizable ChatX settings
  • Logged In users have a verification icon
  • Usergroups: users and moderators.
  • Updated Flywheel library (more developed database in perspective)
  • ver 1.6.0
  • Private mode no longer in beta
  • Passwords are hashed with PASSWORD_BCRYPT
  • Cookies secured
  • Json files no longer accessible directly
  • General security improvements
  • Complete userlist page
  • New page - Setups.php. Easy way to edit settings
  • ChatX now checks when it is outside viewpoint and restores its position
  • ver 1.7.0
  • Featherlight library allows viewing uploaded images in modal window
  • New prompt menu for bb-tags
  • Resize widget horizontally
  • Updates for moderator's panel with new options and settings
  • Changeable widget language (Rus/Eng)
  • Widget works better with various websites
  • General improvements and updates
  • ver 1.8.0
  • MyBB integration
  • Chat history
  • New settings options
  • Stability & performance improvements
  • ver 1.9.0
  • Shout management: multiple message selection
  • New settings in moderator's panel
  • ver 2.0.0
  • New messages at the bottom
  • Thumbnails for jpg and jpeg images
  • Updated UI when uploading images from external URLs
  • All images are hosted on Imgur.com
  • ver 2.1.0
  • Username styling
  • ver 2.2.0
  • Notification for the new messages when widget is minimized
  • Audio notifications for the new messages when user is logged in
  • Highlighted messages of its owner
  • Easier style customization with CSS vars
  • ver 2.3.0
  • Autorecognizing URLs (for users only)
  • New menu for link insertion
  • Ajax load paused whenever text selected in chat
  • Ajax load paused when multiple tabs with widget are active, staying alive in current tab
  • New widget styling page with Ace editor in moderator's panel
  • Refined styling tuning
  • Minimal mobile optimization
  • Hotkeys (Ctrl+B) for bold, (Ctrl+I) for italic, (Ctrl+U) for underlined formatting tags
  • Prompts on widget demo page
  • Option in settings to switch off demo page
  • Simple (dumb) push notifications for new messages in chat (for users only)
  • New sound notification variant for new messages in chat. New sound effect when message is sent
  • Switchable EmojiOne library option for Emoji in chat settings
  • Precise timestamp on hovering on relative time mark
  • Dynamic loading of chat history in widget itself
  • Optimization and improvements for Nginx
  • Redesign of minified chat tray
  • General improvements
  • ToDo list:

    ChatX is still under development. We are expecting more improvements and features in the future. However, we'd be glad if you helped us with the development. Below we enlisted main ToDo changes. Feel free to commit new ideas or working solutions :)

    Short-term perspective:

  • Mobile optimization
  • Long-term perspective:

  • Template generator
  • Acknowledgements

    Thanks Tutorialzine for the initial shoutbox script release.
    Thanks Alex_63 for the implementation of the fast & slow track system
    Thanks me for all the patience during the development :)
    More to come, help us and you'll be in the list too.

    Installation

    ChatX works out-of-the-box on demo page (INDEX.HTML). However, if you are considering using it on other web-sites or directories you are to complete a simple installation procedure:
    a) Login as Admin and navigate to /client/index.php. In the left sidebar you will find ChatX widget. Copy it to your website.

    b) open /setups.php and define your external domain. For example, "https://your-domain.com" (without final "/") If done ChatX must work correctly.

    ChatX official web-site (Russian): https://xlns.ru/blog/category/chatx/

    About

    Simple PHP & jQuery chatroom project with flat file database

    https://xlns.ru/

    License:MIT License


    Languages

    Language:PHP 37.3%Language:CSS 34.3%Language:JavaScript 27.9%Language:HTML 0.5%