A modern mobile messaging web application.
Development began back in 2016. It slowed down to a halt after a while.
This is a public release of the source code behind it. It is unfinished. A lot of the framework is already in place, albeit still needs changes.
Note There are no plans to further maintain this project. Hence, this repository had been archived. Feel free to fork or borrow some concepts from here.
- Transitions
- Hamburger menu
- Requests done without reloading. Ever.
- Modern security protection
- Modular (pages, menu options & permissions for them are managed on the database)
- Update notification system
- Clean up update notification system
- Add mail compose option
- Fix main conversation view
- Add message viewer
- Improve 'about' and 'account' modules
- Work on cryptography for account userdata and messages
- Further implement email activation
- Clean up code and more comments
- On touch screen devices, quickly toggling the menu and closing it by touching the shaded area can result in the menu locking until a navigation option is selected or the page is reloaded
- When selecting the menu toggle button via tab key and spamming the enter key, the previously mentioned issue also occurs
For this to function, there are a few requirements.
- PHP 7 or later
- PHP cURL & JSON extensions
- OpenSSL
- Google reCaptcha v2
- Mailgun
- When email activation is completely implemented
Refer to include/kernel.php for what needs changing. Most of the global constants need to have their values changed and has comments mentioning what is expected. If you have any issues with setting it up, let me know.
Import the import.sql
file to deal with the table structure in the database.
- Future updates may involve alternations to the table structure, which would of course mean the SQL file will be updated with those changes.
Assuming you are using Nginx, add this to your configuration:
location / {
try_files $uri $uri/ /index.php;
rewrite ^/(.*)/?$ /index.php?query=$1;
}
location ~* /(backend|css|img) {
rewrite ^/index\.php?query=(.*)$ /index.php?query=$1;
rewrite ^/index\.php?query=(.*)/?$ /index.php?query=$1;
}
The block to do with using the PHP socket for files with the .php
file extension must be above the configuration mentioned. Otherwise, files in /backend
will not be interpreted.