The project involves the creation of a new version of the corporate web portal of a company engaged in the production and sale of products for interior design. The web portal includes an online store, an online designer, training courses for those who want to learn creating interior design projects, automation of interaction between dealers, architects and end customers of products. A motivational loyalty system was developed. It allows all users to earn in-store points through an active use of the portal services that can be spent for additional goods. The interface has multilingual support in three languages: Dutch, English, and French.
The application was developed using popular Next.js framework, which provides such React-based web application functions as server-side rendering and static web page creation, as well as active use of the Chakra UI component library. Typescript language, as well as modern approaches and class coverage of all entities were used for development. Interactive communication with the backend part is implemented in the system interface. For this purpose, asynchronous queries are used, for example, uploading new data into a table, uploading project data. The frontend part of the application was covered by snapshot and Unit tests. Multilingual support was implemented using the i18next framework.
JazzTeam responsibilities included participating in the development of portal visual interfaces, as well as writing automated tests for the frontend part of the application. We created and expanded the functional components of the application to ensure more flexibility for the work of developers in the future and usability.
Programming languages: Typescript.
Frameworks, libraries: Next.js, Chakra UI, Jest, Axios, i18next.
Infrastructure: Git, Bitbucket CI/CD.
One of the main features of the project was a great emphasis on the quality of delivery of the developed functionality by the developer, since the functionality check was carried out only by the product owners without applying the classical approach that presupposes preliminary testing by the QA team. On the one hand, the developer needed to thoroughly test its own functionality, thus performing the role of a QA engineer. On the other hand, this accelerated the delivery of the product to end users. The development was carried out by a small international team using the Kanban methodology with frequent releases at production intervals of 1-2 weeks.
Much emphasis was placed on its scalability, load resistance, adherence to the principles of the OOD, and easy support for future developers. The project was developed using the latest frameworks and libraries for the development of web applications. Much attention was paid to writing automated tests.