Answered step by step
Verified Expert Solution
Question
1 Approved Answer
School project Please provide full SRS document, UML diagram of relation between entities: Companies have one app for text chat, one for video chat and
School project
Please provide full SRS document, UML diagram of relation between entities:
Companies have one app for text chat, one for video chat and one for conferences and meetings. "nanaChat" will solve this problem by combining these functionalities in a single application. Customers Customers will be businesses. It will not target the general public. Functionality
Users must be able to register with corporate LDAP accounts.
Users should be able to create ad hoc newsgroups comprising sets of users, and send private messages to individual users.
Users should be able to have text discussions that they can divide into threads.
The application should be able to handle group video chat for up to users at a time. Platform The app will be developed in React Native to enable the creation of a Web app, an iOS mobile app and an Android mobile app. These applications will connect to a REST API built with Laravel to store and retrieve data from a MySQL database, and the front end will be developed in React. Authentication will be via an LDAP directory. We'll be using a WAF to protect our application, as traditional firewalls don't take into account all attacks, namely SQL injections. Testing and deployment will be carried out using jenkins Dev test deploy Development responsibilities The developers on the "nanaChat" team will be responsible for writing all the application code, developing the database and managing versions. User class and features
There will be a user class called administrator who will have permissions to access all the application's features, including:
Creating channels where multiple users can interact
Making these channels public for the whole company, or private for a group of people
Delete these channels
Archiving these channels Standard users will have access to all application functionalities, with the exception of those listed above. System features Functional requirements
Users should be able to create ad hoc discussion groups comprising sets of users, and send private messages to other users.
Users should be able to have text discussions which they can divide into threads.
Discussions should be able to be archived indefinitely so that users can reference past discussions.
Users should be able to download files from discussions for reference.
External interface requirements User interfaces
Frontend software: React Native
Backend software: Laravel
Database software: MySQL
LDAP connection: Authentication in an enterprise environment Hardware interfaces
Mac and Windows operating systems via their default Web browsers
iPhone
Android
Nonfunctional prerogatives Performance requirements
Application should load and be usable within seconds
Application should update interface upon interaction within seconds
Database must be standardized to avoid redundant data and improve performance
Database must be distributed to avoid failures Security requirements
Databases must use partitioning for redundancy to avoid data loss.
Database backups must be performed every hour and kept for one week. Security requirements
All keys used for the REST API must be stored securely
Only the REST API should be able to connect to the databases.
The databases must be behind a firewall.
Use a WAF to protect our web application from any attacks not remediated by the firewall Software quality attributes
Availability: as this application is essential to business communication, we will have an availability target of four nines
Accuracy: The application must never allow anyone to read messages or discussions that are not intended for it
Maintainability: the application must use continuous integration so that features and bug fixes can be deployed rapidly without downtime.
Userfriendliness: the interface must be easy to learn without tutorials, and enable users to achieve their goals without errors.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started