General Overview
-

The UC serves as the main logistic station for all the client/CEO applications which are used
inside the corporation. This UC stores
- credentials for the users and ceo;
- registered departments, as well security levels and the encrypting/decrypting keys for the files;
- backup schemes for each user, as well as the IP, as well as the IPs where each computer is located;

The main endpoints of the application are:

- <b>Users</b>:

   - Can register/login in the system;
   - Update the information (username, email, password);
   - Change the working department (the client app will prompt the CEO password request to proceed);
   - Retrieve the full list of departments for the sign-up / 'change department' procedure;
   - Retrieve the full list of users and their IPs for sharing a file


- <b>CEO</b>:

   - Can log in the system;
   - Can change the email (the password can only be retrieved by the admin);
   - Delete users from the system;
   - Create / Delete departments, as well as managing the security levels of each department;
   - Retrieve the full list of users and their IPs for sharing a file


- <b>Admin</b>:

    - Reset the server to default state;
    - Retrieve the CEO login information, as well as a list of all users in the system;


- <b>Backup Schemes</b>:

  - At a request, will get the ID of a user, their IP and the backup directory structure to place it in the scheme,
  as well as the data size of the backup
  

Other Features
-
The UC will also create a separate process which at a set interval of time will retrieve from the admin config, as
well as from the CEO config, the ID so that it will be used to authenticate the users at their endpoints.
