Correspondence Management System
Email Workflow Tracking, and Real-time Chatting Channels
What is a Correspondence?
What is Correspondence?
Abstract
The idea of developing a Correspondence Management System (CMS) was first inspired by discovering our university's HRM "Human Resources Management System".
Abstract
Abstract
Problem Statement
Problem Statement
Problem Statement
Objectives & Solution
Objective
We aim to develop a software solution to be used to store, process, manage, maintain, and deliver the content of a Correspondence across the organization.
Objectives & Solution
Related Works
(Literature Review)
1. PTUK HRMS
The process of workflow communication and messaging among our university's staff is almost automated and pretty much comfortable. This facilitation was made possible by dint of the PTUK HRM software system which have been used recently.
PTUK – HRM
2. Microsoft Outlook
3.
Slack is an instant messaging platfotm which provides a new way to communicate with your team. It's faster, better organized, and more secure than email.
System Requirements
(Features)
Functional Features
1. Build the Organizational Structure
ID | Position Name | ParentPositionID | |
1 | President | رئيس مؤسسة | 0 |
2 | Vice president | نائب رئيس | 1 |
3 | Dean | عميد | 1 |
4 | Head of Unit | رئيس وحدة | 1 |
5 | Director of Department | مدير دائرة | 1 |
6 | Head of Department | رئيس قسم (إداري أو أكاديمي) | 1 |
7 | Head of Division | رئيس شعبة | 1 |
8 | Deanship of Engineering | عمادة الهندسة | 3 |
9 | Deanship of Science | عمادة العلوم | 3 |
10 | Deanship of Economy | عمادة الاقتصاد | 3 |
11 | Deanship of Arts | عمادة الآداب والفنون | 3 |
12 | Department of Computer Engineering | قسم هندسة الحاسوب | 8 |
13 | Department of Electrical Engineering | قسم هندسة الكهرباء | 8 |
Example: Our university’s Organizational Structure
2. Registering a new employee (by the system admin)
3. User Login / Logon / Sign in
4. User Logout / Logoff / Sign out
5. Forgot password?
Forgot password Scenario:
An email with a secret token will be sent to the user to reset their password:
The user will be allowed to reset their password only if the clicked link is valid and not expired:
6. Send a new workflow (email)
The authenticated user can send a workflow to the people he/she is allowed to send to according to his/her position in the organizational structure/hierarchy.
6.1 Convenient Rich-Text Editor
6.2 Attach multiple files with the email before sending.�+ The drag and drop feature�
7. View Inbox Page
Inbox page shows the user all their workflows which were received from other users. Emails where users put you as a direct recipient (consignee)
8. View CC (Carbon Copy) page
CC page shows the user all their workflows which were received from other users. Emails where users put you as a CC recipient (not a direct consignee)
9. View Follow-up page
Follow-up page shows the user all their workflows which were sent by him/her. Emails which the user sent/created.
10. Archiving emails
11. Pin / Unpin an Email
12. On request pagination
13. Show a chronological stack/sequence of all "actions" or "replies" on this specific email
14. Reply / forward / add new action to the currently clicked email
15. Print the page as PDF
Sometimes the user needs to have a physical copy of an email. So, once the user has clicked on a specific email record, the user can click on print page button to provide a .pdf or a .doc version of the chronological stack/sequence of all "actions" or "replies".
16. Search (filter) Emails
17. Fetch list of employees this user can message
Summary of all types of consignees:
18. Switch to another position while logged in
• Since the employee can have more than one position,�• although, the employee will have only one account, but he/she can determine in which position he/she is currently logged in.
19. Update basic info
The user can update their basic information, such as: their full name, phone number, birth date, city of residence, gender, marital status, and so on.
20. Change password
The authenticated user (user who is logged in) can change their password
21. Search Employees
Any user can reach this page to browse and search the list of current employees in the organization. Of course, the non-admin users have the view access only. They cannot edit other employees' information.
22. Manage employees' positions, job titles, and classifications (for admin)
23. Create a direct messaging channel for real-time chat
user-friendly interface
Showing details for each sent message:
24. Create a group channel for real-time chat
25. Add and remove members from a channel + Rename channel
After creating the channel, the channel's admin can add new members or remove any of the current members.
26. Receive push notifications
WebSockets: an advanced technology that makes it possible to open a two-way interactive communication session between the user's browser and a server.
Non-Functional Features
These are system characteristics other than the activities the system must perform or support.
1. Usability Requirements
Operational characteristics related to users
1.2 Ease-of-Use, Ease-of-Learn
In order to make it easier for users to learn how to use the system properly in a timely manner, we have provided help buttons that show guidance messages:
1.3 Responsive User Interfaces
We plan to design all user interfaces to be responsive on almost all screens with different sizes.
Desktop View �(Large screens)
Tablet/Mobile View� (Medium & Small screens)
1.4 Show alert dialogs before executing a critical action
Confirmation dialogs helps reducing user errors (when not overused)
1.5 Show tooltips & snackbars
Tooltip
Snackbar (alert)
2. Security
Hashed passwords stored in the database
BCrypt is based on the Blowfish block cipher cryptomatic algorithm and takes the form of an adaptive hash function.
For authentication & authorization: JSON Web Token is for creating data with encryption whose payload holds JSON that asserts some number of claims.
Methodology
(Technologies)
Overview of Implementation Stack
Integrated Development Environment
User Interface Design & Prototyping
Front-End Technologies
Why we chose ReactJS over other JavaScript libraries
This graph is a comparison that shows how the most popular JavaScript front-end libraries have trended over time based on use of their tags since 2008, when Stack Overflow was founded.
Back-End Technologies
Why we chose MySQL as the Database Management System
Database
Software Design
Database Relational Schema Diagram
Employee Subsystem
Organizational Hierarchy Subsystem
Workflow Subsystem
Instant Messaging (Realtime Chat) Subsystem
Challenges
Future Vision
1. Deploying the System
2. Marketing the System
Closure
الخاتمة موجودة في هذه الورقة:
Prepared by:
Faris Hatem Abu Ali | 201810408 |
Ahmad Mohammad Hamadneh | 201911155 |
Sondos Ghassan Jarrar | 201811910 |
Ahmad Othman Marie | 201811346 |
Supervised by:
Mohamed Khalil, PhD