Any company is a complex system. So, it takes a lot of time to set up a huge number of processes that will ensure its successful operation. To make these processes work correctly, support personnel is required. Therefore, it is difficult to imagine a modern competitive company that lacks tools for the organization of staff training processes and thanks to which the employees cannot share their experience and accumulate it.
The modern market provides a fairly wide range of technological solutions that allow organizing such an opportunity, you just need to choose the most suitable one and adapt it to your needs.
A similar tool was implemented for our customer. It was a portal for personal growth and self-development of employees. The portal is Java EE-based Jive corporate social networking and collaboration system.
Employees can perform the following functions using this portal:
This portal has existed for quite a long time, but ceased to meet the modern requirements and needs of the customer. Our team had to modernize and improve it during the project. The basic tasks are listed below:
We implemented a new interface based on Freemarker (a template engine for text output dynamic filling) and CSS. In addition, we used DWR (Direct Web Remoting, a Java library that allows the code in the browser to use Java methods running on the server as if they were running in the browser).
We updated the Jive core, ensured its compatibility with the old version, and fixed validation bugs. We also implemented Spring using JAX-WS (Java API for XML Web Services, an interface for web services creation).
We developed a special framework allowing downloading video from different platforms (Vimeo and Yahoo). It makes it possible to add the option of downloading video from different providers. After that we applied this framework in our project.
We introduced the practice of writing Unit tests for any module under development. It allowed the team to quickly find bugs in the future when making changes to the code.
The work on the project was getting complicated by the fact that there was no project source code and our team had to decompile and figure out how the system works.
We also created an additional environment for testing, thereby we were able to prevent bugs from getting to production servers.
The final structure of the portal is shown in Figure 1.
Figure 1 – Portal structure
Programming languages: Java, Javascript, CSS.
Frameworks: Spring IoC, Spring Security, Spring DAO, Apache Struts SiteMesh, Apache CXF.
Infrastructure: Ant, Git, IntelliJ IDEA, Jira, Tomcat.
Test libraries: JUnit 4.
Other libraries: DWR.
Tools: Jive, Freemarker.
JazzTeam solved all the assigned tasks working on the project: