The project represents the development of a web application for conducting scientific experiments. It allows simulating experiments, entering data obtained on the basis of observations, and analyzing the results obtained. This application is designed to help automate conducting experiments and observations, enter data into the app, forecast results and perform analytics, create reports, upload data into the system, modify them and download data at the user’s request.
Technical description of the project: the application consists of the backend and frontend. The frontend is a web application based on the popular React framework. The backend is a set of REST services, which makes it possible to create several client applications (web, mobile, etc.). Spring MVC was actively used to develop the application.
Responsibilities of the team within the project:
- Identification and discussion of requirements with the customer.
- Application architecture creation.
- Development of a prototype, and later the application itself, using CI/CD practices.
- Full test coverage:
- Writing Unit tests, running them and analyzing the results.
- Continuous manual testing of the application functionality.
- Control over product delivery to the customer.
- Project documentation preparation and updating.
- Simulation of real processes.
- Entering research data by importing files in .csv format.
- Storage of received information, an extensive research database.
- Creation of experiments with the necessary settings and monitoring of their conduction.
- Analysis of research results.
Infrastructure: Jenkins, Git, IntelliJ IDEA, Teamcity, Jira.
Frameworks: Spring, Hibernate, React.
Test Automation libraries: JUnit + Mockito, Rest Assured.
DB: PostgreSQL, H2 (testing).
Other libraries: Logback, Slf4j, Jackson, OpenCSV, Redux, redux-thunk, Lodash.
- Organization of work according to Scrum methodology in the conditions of remote work of team members: daily meetings within the team, weekly demos for the customer.
- Work in the mode of dynamic formation of requirements and priority changes by the customer.
The result of this project is a web application that was developed on time and meets all the customer’s requirements.
Company’s achievements during the project
- Quick dive into the subject area and technical details of the project in a very short time.
- The customer was offered many new ideas and approaches that were implemented.
- Launching CI from the very beginning and organizing a permanent deployment of the project.
- Writing over 300 test cases.
- Transfer of the product for testing to the customer at the scheduled time.
Product company, services in the field of agricultural technologies
We turned to JazzTeam to create a prototype, and during our cooperation we decided to work together on the development of a full-fledged version of the web application. We received not only the result that we expected directly from the development, but also assistance in organizing and maintaining the infrastructure, in consulting on development and testing. The team did not solve issues on the nose, they analyzed and proposed optimal ideas for implementation. We gained much advantage from choosing JazzTeam as a contractor to solve our business challenge.
I would also like to note the high level of professionalism: we had difficulties in understanding how to work with the team remotely, how to convey our ideas, because the application was developed from scratch, there were many unfinished nuances that needed to be discussed and implemented in the daily planning mode, but as a result, the guys did an excellent job by doing their work and always optimally solving all the difficulties encountered on our way.
We are satisfied with the cooperation with JazzTeam and plan to continue it in the near future. Surely, we recommend the team and the company.