EXIN is an independent examination institute focusing on competencies required in the digital domain. They offer an end-to-end solution for validating IT competencies.
Companies and their professionals are looking for guidance on what skills and competencies to focus on to implement their strategies (companies) and be successful in their current roles and their next career steps (professionals).
Simply put, this solution helps IT professionals evaluate their aptitude as relevant field specialists (engineers, DevOps, etc.). Based on these evaluations, the system will recommend appropriate certification courses.
About the project
The former version of EXIN’s competence evaluation system was built on WordPress as a Proof of Concept. Since the requirements for use cases were continuously expanding, the team eventually encountered the technical and performance limitations of WordPress. As a result, seeing that maintaining and upgrading the system further consumed too much time and yet didn’t ensure the expected result, EXIN decided to rebuild the system and named it “Astride.”
The challenges
There were several major challenges that the customer needed to solve:
- More new custom functionalities were needed. For example, algorithms that arrange survey questions in a random order, AI integrations for later Astride versions, the ability to randomize survey questions per user, etc.
- The UI of the Assessment solution itself could not be customized as preferred.
- There was no ability to add custom monitoring on how much time an individual user spent on solving each question, how they were constructing a solution, etc.
- Further development of the former system in general would have been too time-consuming and inefficient.
After discussing these challenges with the Xplicity team, the customer decided to work together on creating Astride — a modern and easy-to-scale and maintain technical solution.
The technologies
To meet the project’s requirements, it was decided to build an AWS-based website using Java for the backend and Angular for the frontend. Java provided the robustness and scalability that was needed, while Angular allowed us to implement a responsive and dynamic user interface. This choice also ensured that the tech stack for Astride is similar to those of the Sigrid platform developed in EXIN’s parent company Software Improvement Group (SIG).
- Security was a priority, so we opted for AWS’s ACM (AWS Certificate Manager) for SSL/TLS certificates. This made the certificate management process easier and more secure.
- For the front-end deployment, we used an S3 bucket, and to speed up content delivery, we integrated an AWS CloudFront distribution. This significantly improved the loading speed of the front-end.
- Our back-end services were containerized and stored in AWS ECR (Elastic Container Registry), and we used AWS ECS (Elastic Container Service) for orchestration, ensuring easy scaling and management.
- For identity and access management, we chose AWS Cognito. It offered out-of-the-box solutions for user authentication and authorization, streamlining the security of the application.
- We initially designed the database schema before implementation, opting for a PostgreSQL DB. The schema underwent adjustments as needed during the implementation phase.
GitLab was chosen for version control, CI/CD pipelines, and sprint planning via GitLab Boards. All documentation was maintained using GitLab Wiki.
The result
Upon the successful launch of Astride Version 2, the customer’s team began presenting it to end users. Thanks to the collaborative efforts of Xplicity and EXIN, Astride now stands as a secure, swift, and user-friendly solution. Additionally, exciting new plans are on the horizon, including the implementation of additional (sub)functionalities and the integration of AI features mentioned earlier. Want to try it out and maybe even get more insights on how to boost your IT career? You can test yourself with Astride here.