Modernize SMSeagle Software with REST API Integration

Project Description:
We are seeking experienced freelancers to modernize our SMSeagle software with a REST API integration. For documentation and examples, please refer to the https://www.smseagle.eu/docs/apiv2/.

Current Setup:
We currently use the stock software that comes with our SMSeagle devices. We aim to enhance this with a more streamlined and fast UI for our operators. Our hardware setup includes 3 x MHD-8100-4G https://www.smseagle.eu/docs/archive/MHD-8100_users_manual-4.0.pdf devices with load-balancing, utilizing 24 modems simultaneously, all connected to a single master database. We manage 24 inboxes concurrently.
Project Requirements:

User Interface:
Develop a clean, modern UI for managing and responding to messages.

Integrate a page (sms-queue)where messages from all inboxes enter a queue. After responding to a message, the system should automatically move to the next unread message (oldest first) and always replies from the same modem the message came from.

Ensure messages are answered from the same modem (number) they were received on.
Responsive design (mobile, tablet, monitor)

Features:

User Authentication:
Implement login with multi-factor authentication (MFA) using Google or Microsoft.

Notifications:
Provide sound notifications for new messages.
Display message notifications
Display a badge with the number of unread messages on modems in the menu.
Display a similar badge with the number of unread messages in each inbox.

Message Templates:
Allow creation and usage of predefined messages across all operators. (templates)
Position templates directly beneath the chat box to ensure operators always have easy access.

Inbox / Menu Management:
Enable custom inbox names in settings, with changes reflected across all users.
Implement search functionality within inbox messages.

Provide a page showing all messages, allowing replies and automatic navigation to the next unread message.

Ensure conversation history is visible to all operators, showing which operator responded.
Admin should be able to assign inboxes to users.
mark all unread messages as read.
mark messages as unread.

Operators should not be able to delete messages.
Allow operators to rearrange the order of inbox items in the menu.
Emoticons selection for inserting into chat.
Common inbox with all conversations sorted by modem
Mark number as spam in put them in spamfolder.


Phonebook Management:
Allow operators to edit contacts and quickly add new contacts from numbers/messages
Convert numbers to contacts in the phonebook.
Enable operators/admin to blacklist numbers which is a shared function. which should works for all modems and for users.

Admin Panel:
Maintain essential admin features from the original software, accessible on the web app.
Adding new users/operators and give them roles

Modem Monitoring:
Display modem signals in the application to monitor modem status.

Additional Requirements:
Proficiency in web development languages such as HTML, CSS, PHP, and JavaScript, mongoDB, etc.

Experience with API integration and working with RESTful APIs.
Strong understanding of user-friendly web applications.

Familiarity with SMSeagle or similar SMS communication services.
Be able to communicate in English.

Additional Information:
A mockup of the desired UI is included for reference. It serves as a guideline and does not need to be followed exactly.
The web app should be reliable and fast, with the framework, database and server technology suggested by you.

We prefer candidates with experience in RESTful APIs and familiarity with the SMSeagle API, Twilio, or similar platforms.

Submission:
If you have the relevant experience and are interested in this project, please submit your proposal with your suggested framework and database technology, along with your approach to ensuring a fast and reliable application.

Detailed Project Features:
Login with MFA (Google or Microsoft)
Implement login with multi-factor authentication (MFA) using Google or Microsoft.

Notifications:
Provide sound notifications for new messages.
Display message notifications.
Display a badge with the number of unread messages on modems in the menu.
Display a similar badge with the number of unread messages in each inbox.

Message Templates:
Allow creation and usage of predefined messages across all operators.

Position templates directly beneath the chat box to ensure operators always have easy access.
able to edit the rank of templates  
Inbox/Menu Management:
Enable custom inbox names in settings, with changes reflected across all users.
Implement search functionality within inbox messages.

Provide a page showing all messages, allowing replies and automatic navigation to the next unread message after the sent message, with the oldest message first in the queue.
Ensure conversation history is visible to all operators, showing which operator responded.

Allow admin to assign inboxes to users.
Enable marking all unread messages as read.
Enable marking messages as unread.
Prevent operators from deleting messages.
Allow operators to rearrange the order of inbox items in the menu.
Include emoticon selection for inserting into chat.
Phonebook Management:
Allow operators to edit contacts and quickly add new contacts from numbers/threads.
Convert numbers to contacts in the phonebook.
Enable operators/admin to blacklist numbers, with the blacklist being shared across all modems and users.

Admin Panel:
Maintain essential admin features from the original software, accessible on the web app.
Modem Signal Monitoring:
Display modem signals in the application to monitor modem status.

Responsive Design:
Implement a responsive design for mobile, tablet, and monitor displays.
Commandos for sending messages:
shortcut for sending messages: Ctrl + Enter
Showing last incoming/sent message in conversation list
Being able to activate/deactivate modems

Other Questions.

1. Can you provide more details or mockups for the desired UI from Figma? It will give us a better understanding of the project scope.
We are planning to create Figma mockups for the web app by next weekend. These will help in providing a visual representation and better understanding of the project's scope.

Figma design idea (mockups):
Figma mockup (Inbox) Figma inbox
Figma mockup oginpage (Figma loginpage)
Figma mockup contacts page (Figma contacts page)

mockup user settings (https://imgur.com/a/ihZG9Xs)
Figma mockup admin settings ()
Figma mockup sms queue ()

Bootstrap template.
https://www.bootdey.com/snippets/view/WhatsUp-Messenger

2. Are there any specific orchestration tools you already use for your infrastructure (e.g., Docker Compose, Kubernetes)?
Currently, we don't use any specific orchestration tools. Our software is hosted directly on hardware, accessed via public IP with port forwarding. We are open to recommendations for hosting the app using tools like Docker Compose or Kubernetes, which could help improve scalability and management.
3. What level of access control and user roles do you need (e.g., admin, operator)?
The application will have two user roles: operator and admin
Admin: Full access to all features and settings.
Operator: Limited access primarily focused on reading and sending messages.
4. Can you list "essential admin features" which you noticed in your document and why do you think it will take 2-3 days?
We propose that the admin features remain in the original software since the web app's primary function is to manage messages. The current API might not support extensive admin functionalities. You can refer to the manual here: https://www.smseagle.eu/docs/archive/MHD-8100_users_manual-4.0.pdf for a comprehensive list of features.
5. Do you already have Google/Microsoft authorization? How should we link existing data with new authorization?
We do not currently use Google/Microsoft authorization. Users are stored in our database. However, we aim to implement Multi-Factor Authentication (MFA) for enhanced security when accessing the application.


If you have any further questions or need additional information, please feel free to reach out.

(sms-queue)where messages from all inboxes enter a queue. After responding to a message, the system should automatically move to the next unread message (oldest first) and always replies from the same modem the message came from.

SMS Queue System:
1. Queue of Messages:
• All incoming SMS messages, regardless of which inbox they arrive in, are placed into a single queue. This queue holds all messages that need to be responded to.
2. Responding to Messages:
• When a operator responds to a message, the system will automatically move to the next unread message in the queue.
• The messages are handled on a “first-in, first-out” basis, meaning the oldest unread message is handled next.
3. Replying from the Correct Modem:
• The system ensures that when you reply to a message, the response is sent from the same modem that received the original message. This is important for consistency, when there are multiple modems in use.
Key Points
• Single Queue: All inboxes feed into one central queue for message handling.
• Auto-Advance: After replying to a message, the system automatically selects the next oldest unread message.
• Modem Consistency: The reply to a message is sent from the same modem that received it.
This system is designed to ensure that messages are responded to in a timely and organized manner while maintaining consistency in communication by using the same modem for replies.

this sms queue must have two features /buttons. one spam button where all unserious messages are manually by the operator redirected to spam inbox, which will be placed in the bottom of the inbox. one button for “Urgent” where all future messages are placed in this inbox that’s will be placed underneath the queue inbox. these features is not illustrated in the figma illustrations but it should be easy to visualize it.

As I mentioned earlier, this “spam” inbox where operators manually are able to select which message is considered spam so all future messages from the specific sender will end in the spam inbox.

on that behalf i would like to hear if it’s possible to also have an “urgent inbox” underneath the queue in the colom to the left. which is for messages the operator needs to be urgent aware about. the operator must also have to be operated manually

bottom color and text
red for spam (SPAM)
green for urgent (URGENT)

these functions should of course have an on and off function in case one sender is wrongfully placed in the wrong inbox.

furthermore is it possible to have an on/off switch on each modem ? to remove the messages from the queue in cases where the modem is switched off is not needed by the operator or the inbox must be inactive of other reasons.

I know we can’t stop the messages to arrive into the inbox. but if the on/off function is able to delay all income messages by using the off switch until the inbox will be switch on again. then the work will flow much better for the operator.
Skills required
Attachments

Job Activity

Total Bids: 8

Average Bid: $768.75

Budget

$1,000.00

8    Bids

About This Client

Alejandro R.

0.00 (0 Reviews)
1 jobs posted
$0.00 Total Spent
Similar Projects