Simple Messaging App
We would like to build a simple messaging app for our company to replace SMS. We use SMS a lot to share information to our team and we would like to save on costs. Whatsapp has some limitations like group size so we would like to build something simple from scratch instead.
The users login with a phone number and password. The phone number is their username, but it can be used in any phone or device. A username:password pair can only be used once. If used on another device the old device becomes logged out. Every user has a name field stored in the database used for display purposes.
Example: The credentials for User 1: “05663459875” / “passWord!”
The user has either read (R) or read and write (RW) rights to a group. This means users sometimes just read what is written on a group and sometimes they can read and write to groups. These rights are determined at the central database and users have no control over them. They can not join groups, they can not leave groups or change their rights about it.
Group Name User 1 User 2 User 3
Daily News R R RW
Complaints RW RW R
[User 3] [18:45] Today lunch will be held at 14:00.
[User 3] [16:03] User 1 could you please call me.
[User 3] [14:01] There will be a meeting at 16:00 tomorrow.
[User 1] [10:02]The water pipes in the conference room are leaking.
[User 2] [Yesterday] I need more men on level 2.
[User 1] [Yesterday] Internet went out.
The message size is limited to 255 characters. If the text is larger the app should split it into multiple messages. The preferred language is Turkish so the app should support Unicode or your preferred encoding to support Turkish.
Sending pictures is a desired functionality but not crucial so this will be listed as an optional feature. You can price it additionally or leave it out.
Messages are not stored on the server. If the server successfully delivers the message to a client, then it deletes the message from its storage. Undelivered messages are stored in the server until all clients have logged in and received their messages.
Messages are displayed on the client with last message on first line. The users should be able to delete a single message or all messages of a group.
Messages are displayed with a timestamp. Clock is shown for today’s messages, otherwise only the date is displayed. This is the date the server received the message from the sender.
It is desired to have some encryption between the server and clients. This can be considered an extra feature. You can price it additionally or leave it out.
There should be a control panel for creating groups, adding/deleting members and setting rights. This can be web based with your preferred language. (PHP/.NET)
Database and Hosting
We have a hosting plan with Linux/Windows options and SQL Server and MySQL databases. Please let us know what you need and we’ll provide you the access for them.
The app should be available for IOS and Android. We have a developer account in Apple Store, but we prefer not to make this application available for everybody. We would rather distribute it through our server.
Please provide source code and project files so we can continue to maintain this.