Skip to content

UBU Finance Frontend Application Documentation

Introduction

This documentation provides a comprehensive overview of the User Management features in the UBU Finance Frontend application. The application implements a sophisticated role-based access control (RBAC) system where:

  • Users are assigned specific roles
  • Roles are created and assigned with specific permissions
  • Permissions determine access to application features
  • Features are only accessible to users with roles containing the required permissions
  • Organization units provide additional access control layer

This hierarchical structure ensures secure and controlled access to system features while maintaining clear separation of responsibilities and access levels.

Authentication Flow

Login

  • Users must provide user Code (5 uppercase letters)
  • Users must provide Password (minimum 8 characters)
  • System validates credentials
  • Upon successful validation, OTP is sent to registered email

OTP Verification

  • User receives OTP via email
  • Must enter OTP within specified time limit
  • System validates OTP
  • Upon successful verification, user is redirected to dashboard

User Creation and Role Assignment Flow

Initial User Setup

User Creation

  • User with Create Users permission creates new user and assigns a role
  • System generates username and password
  • Credentials are sent to user's email
  • User must change password on first login

Application Features and Access Control

Dashboard

Aspect Description
Permission No specific permission required
Functionality View system overview and key metrics
Access Available after successful login and OTP verification

User Management

View Users List Feature

Aspect Description
Permission View Users
Functionality View users list
Access User Management Sidebar button

Create New User Feature

Aspect Description
Permission Create Users
Functionality Add new users to the system
Access User Management sidebar button, then create user tab

Edit User Details Feature

Aspect Description
Permission Update User
Functionality Modify user information
Access Edit button on user row in users list

Manage User Status Feature

Aspect Description
Permission Update User Status
Functionality Activate/deactivate user accounts
Access Status toggle on user row

Two-Factor Authentication Management Feature

Aspect Description
Permission Update Two-Factor Authentication
Functionality Enable/disable 2FA for users
Access 2FA toggle on user row

Password Reset Feature

Aspect Description
Permission Reset Password
Functionality Reset user password
Access Reset Password button on user row

View User Profile Information

Aspect Description
Permission View User Profile
Functionality View user profile details
Access Profile button on user row

Roles Management

View Roles Feature

Aspect Description
Permission View Role Permissions
Functionality View list of all roles
Access Roles sidebar button

Create New Role Feature

Aspect Description
Permission Create Roles
Functionality Add new roles to the system
Access Add New Role button on all roles page

Delete Role Feature

Aspect Description
Permission Delete Role
Functionality Remove roles from the system
Access Delete button on role row

Permission Categories

View Categories Feature

Aspect Description
Permission View Roles
Functionality View all permission categories
Access Permission Categories sidebar button

Permissions Management

View Permissions Feature

Aspect Description
Permission View Permission
Functionality View all available permissions
Access Permissions Management sidebar button

Assign Permission Feature

Aspect Description
Permission Assign Permission to Role
Functionality Assign permissions to roles
Access Assign Permission button on Permissions list

Remove Permissions Feature

Aspect Description
Permission Remove Permission from Role
Functionality Remove permissions from roles
Access Assign Permission button, then Remove Permission button on assign permission

Organization Units

View Units Feature

Aspect Description
Permission View Organizational Units
Functionality View organizational units and their descriptions
Access Organization Units sidebar button

Create New Organizational Unit Feature

Aspect Description
Permission Create Organizational Unit
Functionality Add new organizational unit
Access Add New Organization button on all organizational units page

Edit Organizational Unit Details Feature

Aspect Description
Permission Update Organizational Unit
Functionality Modify unit information
Access Edit button on unit row

Delete Organizational Unit Feature

Aspect Description
Permission Delete Organizational Unit
Functionality Remove units
Access Delete button on unit row

User Profile

View Profile Feature

Aspect Description
Permission View Own Profile
Functionality View personal information
Access Profile sidebar button

Change Password Feature

Aspect Description
Permission Change Own Password
Functionality Update personal password
Access Change Password button

Translations

View Translations Management Feature

Aspect Description
Permission Translation
Functionality View all language translations
Access Translations sidebar button

Add Translation Feature

Aspect Description
Permission Translation
Functionality Add new language keys
Access Add Translation button on all translations page

Update Translation Feature

Aspect Description
Permission Translation
Functionality Update translation content
Access Edit button on translation row

Delete Translation Feature

Aspect Description
Permission Translation
Functionality Delete language keys
Access Delete button on translation row

Access Logs

View Logs Feature

Aspect Description
Permission Audit Log
Functionality View system activity logs
Access Access Logs sidebar button

Filter Logs Feature

Aspect Description
Permission Audit Log
Functionality Filter logs by various criteria
Access Filter options in Access Logs page

Common Features Across All Routes

Authentication & Authorization

  • All routes require valid authentication
  • Permission-based access control
  • Two-factor authentication support
  • Session management with automatic logout on session expiry
  • Automatic logout after 3 minutes with no interaction with the system

User Interface

  • Responsive tables with search functionality
  • Form validation with error messages
  • Toast notifications for action feedback
  • Confirmation dialogs for critical actions
  • Loading states for async operations

Data Management

  • Real-time data updates
  • Optimistic UI updates
  • Form validation
  • Error handling with user feedback

Internationalization

  • Multi-language support
  • Dynamic translation loading
  • Language switching capability