Project summary
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.
App functions:
- 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.
Technologies
Stack: Java 11, JavaScript, Spring, Apache Maven.
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.
Screenshots
Project features
- 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.
Diagrams
Project results
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.