A few weeks ago we introduced ART-Time on GitHub.
Initially the system was developed for internal use only, and for a long time we hesitated about presenting the product to external users as project time tracking is quite a large subject, and we were not sure that we had considered all the necessary aspects.
Nevertheless, we finally decided to have a try.
It is a question that we have been working on since our company was founded – 15 years ago. We experienced problems with tracking working hours on different projects, and we had to analyze these questions in detail and try various ways to solve them.
First of all, the system should be convenient for everyone:
We should take into account interests of all user groups, and for this reason the app should have a wide functionality. In general, time tracking should take minimum time: no one wants to spend a lot of working hours on filling in timesheets.
Having thoroughly considered the problem, we suggested what a minimal set of functions our system needed:
To implement these ideas, we decided to use the most advanced Java technologies in the development of business-oriented apps.
The system was developed on Java 8 / JEE 7. An application server (AS) Wildfly 8.2 was used as a platform.
The product business logic is built with EJB 3.2. The persistence layer is based on JPA + Infinispan. At the moment, MySQL is used as a database, but the developers have provided the possibility to use more than 20 various database servers with minimum system modifications.
ART-Time can be integrated with external systems using the SOAP/HTTP protocol. It is implemented by means of AX-WS.
The system UI is based on JSF 2.2 with the use of PrimeFaces, RichFaces, OminFaces +custom components + jQuery.
The reporting subsystem is built with Eclipse BIRT.
The engineers also foresaw an option for automatic coordination of properties and project teams with external systems. At this stage, adapters to LDAP and Atlassian JIRA have been realized.
ART-Time is now an open source product which can be used by anyone – we just want to facilitate project teams in getting over the difficulties with working hours control.
Our team is planning to develop an API for data import from other sources and also create subprojects for projects.
It would great if you could help us to improve our project.
Find ART-Time on GitHub: https://github.com/Artezio/ART-TIME/wiki