Table of Contents
TRIX - Time Registration Improvement eXperience - is designed to be a lightweight solution for capturing and managing Time Registration in response to the many heavy and cumbersome solutions out there. It is designed with a minimal core around two types registration:
- Timesheet - Enter Daily, Weekly or Monthly Sheet with Hours
- Timerecorder - Capture Realtime Hours spent
On top of there are features to handle the process of Approval of hours and the all important option of adding Integrations to other systems, allowing third party systems to receive the registered and approved hours. The solution includes a lot of useful features in the Core Version, including:
- Setting up your Profile, including Expected Work Hours
- Manager Approval/Rejection of Hours for Direct Reports
- Full Configuration of Categories and Time Registration Types
- Configuration of Approval Flow
- Built-In Validations
The solution is built on top of SAP Frameworks, including
Utilizing SAP Business Technology Platform, PostgreSQL, TypeScript and a lot of other technologies.
Verify that you have the Requirements for the Solution in place and then you can clone and deploy it, following the description
The solution can be deployed on SAP Business Technology Platform, so ensure that you have an Account and on that account you need a Subaccount with the following entitlements:
Sizing these depends on the number of concurrent and total users that are going to be using the solution in that particular Subaccount.
To deploy the solution once you have cloned it you need to
- Ensure all UI modules and services have their dependencies installed.
You can do this by using the following commands:
$ cd uimodules/approval && npm install $ cd uimodules/reporting && npm install $ cd uimodules/recording && npm install $ cd uimodules/timesheet && npm install $ cd services/core-service && npm install $ cd services/admin-service && npm install
- Once dependencies are install, from the root run the command
npm run build
- Then from here, login to your BTP Cloud Foundry subaccount of choice and then run the command:
npm run deploy
- From here login to your BTP subaccount and ensure that the roles for the solution are assigned to the appropriate role collections in your setup.
Be sure to verify the solution before opening it up to your users by checking:
- User present in SAP Business Technology Platform IDP
- Correct Role Assignment
- Language Support (more languages can be added via the i18n files)
- Solution Deployed and Tested
- Development/Test Subaccount
- Production Subaccount
There is still a lot of baseline features planned for the Core Solution, but the main focus is on adding Integrations into other solutions, as Hours from Time Registrations are typically needed in other contexts.
The next release will add one or more Integrations, also showcasing how other Loosely Coupled Integrations can be added and active at the same time with the chosen Event-Driven Architecture.
The main features planned are:
- Default Time Registration from Favorite/Starred Week
- Time Recorder
- Appoint Substitute
- Automated Testing using WDI5
- Reporting
- For Employee
- For Manager
- For Audit
- Integrations
- To SAP CATS on SAP ECC
- To SAP CATS on SAP S/4HANA (Public Cloud Edition and Private Managed)
- To SAP SuccessFactors Time Mgt.
- From Outlook
- A "Jump To Date" button, allowing the user to jump to any random week
Plus fixes - See the open issues for a full list of proposed features (and known issues).
Any contributions to the project are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request and do your changes by following our required procedure (allowing us to manage the incoming work):
- Bring your idea to a fix or a feature, or find one in the Issue Tracker!
- Fork the repository and Create your Feature Branch, name it feature|fix-name of fix or feature with spaces as underscore-month-year - e.g. feature-de_translation-02-2025 or fix-injection_issue_data_loader-08-2024. Notice: If you are implementing a fix from the issue tracker use the issue number as the name, prefixed by #, e.g. fix-#6403-10-2024
- Implement your changes, ensuring that you keep the code, methods and comments short and to the point
- Add and Update Unit Test (your code will not be approved without these)
- Make sure that you clearly state what you are committing in your commit message (and rather commit often with clear messages than committing a large, complex mess)
- Once you implemented the changes, tested the code, it quality and speed and verified that all unit tests are green do a Pull Request, where you title the Pull Request the Feature/Fix you implemented
- Make requested changes if asked by the reviewer
- Receive a huge thanks and eternal appreciation from the team when your contribution is merged (we might even throw in a trophy for best contribution down the line)!
Rules that needs to be respected:
- Don't include code or dependencies that violates or breaks either the code's licenses or the provided license of this solution
- Don't try to change the underlying foundation, infrastructure or base functionality of the solution without discussing and getting approval from the maintainers beforehand
- Stay constructive in feedback, contribution and collaboration!
All Issues and Feature Requests are done using the Issue Tracker on GitHub, so be sure to check there first. All Prioritization is done by the Core Team to ensure a strong focus on the core solution and its focus. All Communication and coordination is done via Discord on https://discord.com/channels/1217814600205205504/1217814718077603861 .
Distributed under the Apache-2 License