Do you have a similar project?
Post your project for free and meet the best App Developers, receive quotes from qualified companies and hire the best candidate with our safe payment system.
a. Main structure and interconnections
Base of the system should be messages and notification part. Messages and notifications should be in different independents modules, with separated interface (allow for us connect another messages or notification modules) and wiring in XML file. System should work even messages and notification doesn’t work. In this case system need to keep all information in local storage and after repair synchronize with server.
All modules as chat and QC must be connected through XML file, and be able for disabling from the server (after setup special flag).
b. Messages system
This module must be synchronize with server and provide public interface for another modules, which can use it. All messages which related to all modules, chat as well must be save in local storage and on the server through this module. Message module should support all kind of information (text and binary). Update information with server through JSON (POST request).
c. Notification system
Notification system must be synchronized with server. User need to be able customize notification as priority, alarms, sounds etc. Update information with server through JSON (POST request).
Chat should support sending next formats of information: text, sound, pictures (from camera and from local storage), video (from camera and from local storage). All information should be stored into messages module as well. Chat should provide real time communication with server and don’t block it.
Main protocol for updating information is HTTP and use JSON format, oriented on the RESTful (GET, POST, PUT, DELETE) service. We’ll prepare this after start development.
a) User’s roles
We have next kind of user roles: Superadmin; Account Manager; Customer Service; Admin; Main Contact; Regular.
According to these roles users have different rights and access to different information. That means if user logout and in the same device another user login he should be able to see just that information to which he has access. User should not be able even see some buttons according to the roles but each different document could be applied own right for each user.
b) Private and Public information
Most of information is private but next: common information about companies and users and information about system parameters are public. Each document can be a public as well according to own security properties. All information should be able to clean automatically as command from the server.
Each time when user logout all private information should be cleaned from device memory.
Most important is message system, application must provide communication channel and use all possible ways for connecting to the internet. In the same time application should keep battery and be fast, users should not feel discomfort about speed. Even application down but user started fill up fields information should not be lost, after user run application again system must propose restore that what user did.
Application must be open to implementation new modules, new screens. Code must be with comments.