All Projects → iacoposk8 → Ajax-Chat

iacoposk8 / Ajax-Chat

Licence: other
Ajax Chat is a complete web chat in javascript, ajax, php and mysql compatible with Phonegap

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Ajax-Chat

Chatsecure Ios
ChatSecure is a free and open source encrypted chat client for iOS that supports OTR and OMEMO encryption over XMPP.
Stars: ✭ 3,044 (+15921.05%)
Mutual labels:  chat, encryption
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+79752.63%)
Mutual labels:  encryption, end-to-end
Wire Ios
📱 Wire for iOS (iPhone and iPad)
Stars: ✭ 3,079 (+16105.26%)
Mutual labels:  encryption, end-to-end
Emberclear
Encrypted Chat. No History. No Logs.
Stars: ✭ 157 (+726.32%)
Mutual labels:  chat, encryption
0fc
Anonymous web chat server, built on top of Themis/WebThemis
Stars: ✭ 98 (+415.79%)
Mutual labels:  chat, encryption
Darkwire.io
End-to-end encrypted instant web chat
Stars: ✭ 594 (+3026.32%)
Mutual labels:  chat, encryption
Sdk Js
Tanker client-side encryption SDK for JavaScript
Stars: ✭ 786 (+4036.84%)
Mutual labels:  encryption, end-to-end
Opensource Socialnetwork
Open Source Social Network (OSSN) is a social networking software written in PHP. It allows you to make a social networking website and helps your members build social relationships, with people who share similar professional or personal interests. It is available in 16 international languages.
Stars: ✭ 710 (+3636.84%)
Mutual labels:  chat, ajax
Demo Twilio Backend Nodejs
A sample backend that demonstrates how to generate a Virgil JWT and Twilio token used for authentication with the Virgil and Twilio services
Stars: ✭ 128 (+573.68%)
Mutual labels:  chat, encryption
DiscordEncryption
🔐 Configurable end to end encryption for Discord
Stars: ✭ 30 (+57.89%)
Mutual labels:  encryption, end-to-end
Ajax-CRUD-example-in-laravel
Example performing CRUD operations in laravel using ajax.
Stars: ✭ 69 (+263.16%)
Mutual labels:  ajax
melanchat
Friendly Random Chat
Stars: ✭ 13 (-31.58%)
Mutual labels:  chat
stream-chat-unreal
The official Unreal SDK for Stream Chat
Stars: ✭ 13 (-31.58%)
Mutual labels:  chat
envkey-ruby
EnvKey's official Ruby client library
Stars: ✭ 24 (+26.32%)
Mutual labels:  encryption
js-libp2p-noise
Noise libp2p handshake for js-libp2p
Stars: ✭ 21 (+10.53%)
Mutual labels:  encryption
DroidFS
Encrypted overlay filesystems implementation for Android. Also available on gitea: https://forge.chapril.org/hardcoresushi/DroidFS
Stars: ✭ 152 (+700%)
Mutual labels:  encryption
AES
AES for microcontrollers (Arduino & Raspberry pi)
Stars: ✭ 116 (+510.53%)
Mutual labels:  encryption
photochat
Works cool: I use a secure app to chat. Next level: I encrypt my chats with a private key. Intergalactic level: I encrypt my chats with a one-time token and then make them deceptively public ;)
Stars: ✭ 38 (+100%)
Mutual labels:  encryption
ocaml-otr
Off-the-record (OTR) messaging protocol, purely in OCaml
Stars: ✭ 39 (+105.26%)
Mutual labels:  end-to-end
nicotine-plus
Graphical client for the Soulseek peer-to-peer network
Stars: ✭ 601 (+3063.16%)
Mutual labels:  chat

Ajax Chat

Ajax Chat is a complete web chat in javascript, ajax, php and mysql compatible with Phonegap

Screenshots

chat sample

Features

  1. Create new chat, send message, read messagge etc... (obviously :D)
  2. Search chat, user, and messages
  3. Edit profile (name, personal message, personal photo
  4. Block user
  5. Choose colors
  6. Choose languages (English and Italian)
  7. Choose messages storage (local or remote)
  8. Add custom menu
  9. When you add a new chat you can view the users in a list or in a map
  10. End to end encryption
  11. We have many smiles ;)
  12. Messages status (sent, delivered, read. like whatsapp)
  13. Load old messages when you scroll up
  14. Create groups

Installation

1. Server

Upload "server" folder on your remote server, then open the file Server/config.php and edit these lines for database connection:

$col = 'mysql:host=XXXXXXXXXXXXXXXXXX;dbname=XXXXXXXXXXXXXXXXXX';
$username = "XXXXXXXXXXXXXXXXXX";
$password = "XXXXXXXXXXXXXXXXXX";

Then modify the $serverKey variable with a password of your choice (which you will never have to change), this will be used to generate the tokens

$serverKey = 'XXXXXXXXXXXXXXXXXX';

Now you need to indicate what is your users table and what the id and name columns are called. For example, if your table has this structure:

CREATE TABLE `users` (
  `id_user` int(11) NOT NULL,
  `username` varchar(255) NOT NULL
);

You will need to modify the $userTable to do this:

$userTable = array(
	"name" => "users",
	"columns" => array(
		"id" => "id_user",
		"name" => "username"
	)
);

2. Client

Open Client/index.html and Client/test.html and change these line for point to remote php file just uploaded

server: "http://XXXXXXXXXXXXXXXXXX/chat.php",

3. Test

To do a test go to: https://your-site/Client/index.php?user_id=XXXXXX

instead of the X we need to put the user id that we find in the "users" table (in our example).

NOTE: This is an example only and is not safe! We shouldn't be able to see a user's private chats without a login but simply by guessing its user id. To make the example safe, you need to edit the line:

current_user: "<?php require_once("../Server/chat.php"); echo get_token($_GET['user_id']); ?>"

With something like this:

current_user: "<?php require_once("../Server/chat.php"); echo get_token(your_login_function()["id"]); ?>"

NOTE: At the first start some tables will be created in your database

Method

Method Params Description
chat_open chat_id When user open a chat
new_mex message When arrive a new message
profile_update profile When profile is updated
send_message user_id When user send message to user_id
group detail, callback Create a new group. detail: {name: "Group name", users: [id_user, id_user, id_user...], img: "url image", id: group_id_to_edit} (name and users are mandatory)
send_new_message to_user, display_name, message useful for create a chatbot, if you want send "hello" to user 54 from "AppBot" set: chat.send_new_message(54, "AppBot", "hello")

Property

Property Default Description
color (array) ["#2ecc71","#3498db","#e2ffc4","#eee"] colors of the chat
current_user (string) token Current user token. You can generate the token with php function in Server/chat.php - get_token($user_id);
custom_head (string) "html code" Here you can add the html code to add to the head
custom_item_menu (array) ["Info", "About
Lorem ipsum...."]
This add a new item menu "Info" when write inside "About
Lorem ipsum...."
debug (bool) false if you want to see console.log for debug
lang (string) en languages available english (en) and italian (it)
load_message (int) 10 Number of messages to load when you scroll up
path (string) chat_folder If you rename the path "Client/chat" you have to change also here
server (string) url_chat.php This is the remote url (file Server/chat.php see the installation)
view (string) list you can view the user like a "list" or in a "map" (for this you have to set "lat" and "lon" in "list" property)

TODO

  • Change status (online, writing, last login)
  • Send file
  • Share messages / contents (inside and outside chat)
  • Delete, copy, info, star icone the message
  • Vocal notes

Libraries of this project

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].