A software requirements specification (SRC) for YeboReport tells users on what the YeboReport systems does.
What is the intended purpose and the environmnet where the systems runs.
So here we are listing the functionalities of the system. If you are not happy with our
licence prices you can take this spec into a software developing company and request a qoute.
What does Yebo Means
Yebo is a word that is used by Nguni people in south africa, the word means "Yes".
Purpose of the YeboReport software
The purpose of the Yeboreport software is to produce reports , dashboards and documents.
What is a Report
A report is just a data that is displayed in the table formart.
An example of a report can be:
- A list of all invoices that were created last week
- A list of all customers that have not paid their invoices
- A list of all company asserts
A subReport is a small report that is linked to a report.
An example of a subReport
- A list of student courses inside a students list report
- A list of student payments inside of a student report
- A list of goods and services inside an invoice report
Reports:
- Only a system admin can create a report
- Only a system admin can assign a report to the user
- Reports are assigned to the users by Roles
- A user can be assigned to any number of reports
- Reports can be downloaded as an Excel, CSV and PDF
- Users can filter and search data in a report
- Reports are created at runtime which means they appear to the users as soon as they are created. There is no need to re-deploy the system.
- Data in the report can be highlited e.g. Change row background where invoice has not been paid, change row text where invoice is due, make bold row where invoice is overpaid
- A system admin can link any number of subreports to a report
- A system admin can link any number of documents to the report. eg A student report will have student invoice document, It will have an acceptance letter document.
What is a Dashboards
A dashboard is a computer screen that displays charts, graphs and other visuals. Dashboard is normal used to track
perfomance.
An example of a Dashboards:
- Dashboard for sales, where you see sales per region, per month for the past 12 months
- Dashboard for the ticket system where you can see how many tickes are created a day, how many are resolved, how many are still pending, how long on average it takes to close a ticket, which department logs the most tickets.
Dashboards:
- Only a system admin can create a dashboard
- Only a system admin can assign a dashboard to the user
- Dashboards are assigned to the users by Roles
- A user can be assigned to any number of dashboards
- Any user can be assigned to edit a dashboard
- Dashboards can be downloaded as an Image and other formats
- Adding and Editing of the dashboard is done in real time which means that there is no system deployed needed.
-
Dashboards can be embeded to other websites via a frame
- An Admin can set the number of times a dashboard can be viewed.
- An Admin can set an expire date for the dashboard
- An Admin can set an IP address that can only view the dashboard
- A dashboard can be sent as a link for people outside of the organisation to view it
Documents
Document examples:
- invoice to the client
- letter to the client
- a policy schedule
- an invoice schedule
Documents:
- Are assigned to reports, on the report row you click a document icon to view a report.
- Are created and updated at runtime which means that there is no need for system deploy.
User roles
Who can do what on the system?
Admin
What an admin can do in the system.
- Can login into the system
-
Dashboard
- An Admin can create a dashboard
- An Admin can edit a dashboard
- An Admin can delete a dashboard
- An Admin can assign a user to view the dashboard
- An Admin can assign a user to edit the dashboard
- An Admin can setup a dashboard to be viewed via a link
-
Reports
- An Admin can create a report
- An Admin can edit a report
- An Admin can delete a report
- An Admin can assign a report to the user
- An Admin can remove a report from the user
-
SubReports
- An Admin can create a subReport
- An Admin can edit a subReport
- An Admin can delete a subReport
- An Admin can link a subReport a Report
-
SubReports
- An Admin can create a subReport
- An Admin can edit a subReport
- An Admin can delete a subReport
- An Admin can link a subReport a Report
-
Permissions/Roles
- An Admin can create a permission
- An Admin can edit a permission
- An Admin can delete a permission
- An Admin can assign a permision to a user
- An Admin can remove a permision from a user
-
Users
- An Admin can create a user
- An Admin can edit a user
- An Admin can delete a user
- An Admin can change user's password
- An Admin can assign another as an Admin
Normal user
What an Normal user can do in the system?
-
Dashboard
- Can view a dashboard based on the permission
- Can edit a dashboard based on the permission
-
Reports
- Can view a report based on the permission
- Can filter data on the dashboard
- Can sort data on the dashboard
- Can search data on the dashboard
- Can download the report data as Excel, CSV, PDF based on the permission
-
A user can change his password
System security
System security.
- You need a user account to use the system
- A user account get locked after 6 loggin attempts
- Options: A user can only login from a certain IP address
Technology used
YeboReport is using
.Net 4.8 at the time of writting this documentation microsoft had no plans of stopping the support.
The application is an ASP.NET MVC which means it as Website.
We do not host our software but we will send you a link to our private GitHub.
Software support
YeboReport is written in ASP.NET MVC, any developer who has done a work on MVC for more than 4 years should be able to understand the source code.
The software is meant to be used as a generic software,
should you want to customise it for your business we can look at your spec and i will charge for that. Another option is to hire a developer to
customise the software.
Bugs and fixes
Users will have to log the bugs on github.
Bugs will only be fixed on the latest version.