System - RHMAccounting/spring-allacc GitHub Wiki
This section will give an overview of the whole system. The system will be explained in its context to show how the system interacts with other systems and introduce the basic functionality of it. It will also describe what type of stakeholders will use the system and what functionality is available
for each type. At last, the constraints and assumptions for the system will be presented.
The system will consist of multiple micro services which combined allow users to access various features from the following client applications :
- a Website portal (the front end part built using React library)
- an Android application
- external services (via APIs)
This application as a whole will be used to manage resources and tasks planning, quote, orders and invoice generation as well as an accounting journal.
All services can run independantly from each others and can be deployed on multiple server instances (Cloud).
## TO BE REWRITEN :
Besides the main part from which users can have access from any computer devices including smart-phones and pads, there will be libraries which allow mobile applications and other third part component to manage the most used functionalities.
- Since this is a data-centric product, it will need somewhere to store the data. For that, a database will be used.
- The web portal will communicate with the database.
A mobile application will involve communications through the web portal using requests of a specific format, direct access to the database will not take place on the mobile application.
No data will be stored on a mobile neither on the user devices. Everything will be stacked on the server of the enterprise.
Along with the website portal, the user will track and assign tasks and projects to the staff, schedule the timetables of the teams, but also deal with products, materials with live stocks, the user will be able to quote directly based on entered suppliers data and customers.
The entries and outputs will be written to a journal which itself is linked to an accounting plan (according to the country of the company but opened to different countries – PCG in France).
Statistics graphs will be available for analyse to get a wide and precise rendering of the company production and return on investment. This tool will be important to make decisions.
The system and web portal will be subject to updates and additional options. Anything added will be noticed to the end user.
The overall system will be divided in micro services. Each one having its own database.
There are 4 main types of users interacting with the system :
- users of the e-commerce website (the customer of the company) ie : client,
- staff members (ie : sales)
- accountant (or employee dealing with accounting matters)
- the administrator (the owner or another manager).
Employees can be split into managers and other staff members.
For example an administrator can fill up the listing of all teams belonging to a specific department and add a manager to each team. Then a manager will be able to add team members to its listing and assign tasks to them. The member at last will be able to interact with other members and fill in details and notes about a task (time consumed, task details, requirements…).
All users can share their own schedule including off days, submit requests and comments directly to the manager and other members or/and other teams if allowed.
A manager and the staff can be given the rights to use most of the functionalities of the CRM system. But once it touches to some important data...
Following is a diagram showing the context of the system :
The Internet connection is the only constraint for the applications. Since the applications fetch data from the database over the Internet, it is crucial that there is an Internet connection for the applications to function.
The applications are running on the server side, there is no much requirements and dependencies concerning the user devices for accessing the web portal. If it handles Internet without any trouble then the access should be fine.
The user is responsible of the working devices and shall contact our support if needed.
In the case that the project is delayed, there are some requirements that could be transferred to the next version of the application.