Deadline until 20.12.2024, completed program with documentation.
It is necessary to create a web application with a client-side on React and a server-side on Node.js. For data storage, you can use a SQL Server or MongoDB database.
The development must apply the principles of SOLID, TDD (test-driven development) and BDD. The application should include integration tests to verify the DAL (data access layer) and system tests to verify the Service level. On the server side, logging of incoming messages and errors must be implemented.
The functionality of the application should include the following capabilities:
- The user can log in/out of the system
- View and edit profile
- The ability to create, edit, view, and delete consultations.
- Search and filter consultations by key parameters.
- Administration of data access (user role permissions).
Entities: service (category), client, lawyer, and administrator (can edit the user collection, allow or deny access to the system).
Input: A classification of services is entered. A client's request is recorded (start date, end date, client (full name, address, contact phone numbers), responsible person, total price). The services provided are recorded, indicating expenses and profit. The execution of the order is recorded.
Selection: Select all requests, services from a given client for a specified period of time.
Reporting: For the period by service classes: income, expenses. For the selected request, output a detailed report (when, who, what service, price).