Description of Project
The client is an American publishing and educational media company that publishes and distributes books, comics, and educational materials for schools, parents, and children. The business was founded in 1920 and has been in business for over a hundred years.
For a long time, the team (with Dmitrii as a Fullstack developer) dealt with accessibility. In the USA, large companies are required to meet accessibility requirements, which is important from the point of view of government requests; in case of non-compliance, the business can lose money. To avoid losses, the team worked on accessibility and compliance with all requirements. Accessibility is needed, for example, for people with poor memory. It's important for them to make sure they can fill in the button layout (work with UX). Also, work is being done for people with color blindness where the work with the contrast of the site is important.
Responsibilities
Tasks:
1. Rewriting old components from ReactJS to JS, while meeting Accessibility requirements. Dmitrii and his team refactored all components, bringing the sites into compliance with the legal Accessibility requirements for the US education sector. This allowed them to significantly expand the number of educational institutions using the sites and avoid fines.
2. Filling a library of unified reusable components for use on any of 28 sites by editors without involving developers. Dmitrii expanded the AEM backend in Java to provide data and generate templates using the Template Engine, after which he supplemented the necessary client functionality using native javascript.
3. Adding Google OAuth 2.0 authorization which is uniform for all sites. Dmitrii connected a third-party authorization library to the existing unified login system, which is used to access content on all company sites.
4. Rewriting legacy code responsible for user search for content across sites. Dmitrii expanded and corrected the search functionality written on the backend, rewriting the rules for indexing and reindexing content with SOLR.
5. Update the build and release process. Dmitry connected the Sonarqube code analyzer to the project and integrated it into the project’s CI/CD pipelines.
6. Initiated a change in the Code Review process, which was highly appreciated by the rest of the team and was subsequently integrated into team processes on an ongoing basis;
7. Working with a large repository for 28 websites of different subjects with unique designs. Interactive components of educational materials, various quizzes using videos, pictures, and mini-games have been developed.
8. Writing Unit tests covering all new functionality.
Technology Stack
Adobe AEM, Angular.JS, Java, Apache Sling, Webpack, Junit, maven, Apache Solr, Git, Bitbucket, WCAG, Accessibility
Period
09.2022 —
until now
(2 years 4 months)