What was the objective?
We were contracted by GeoTec-GS a.s. and PUDIS a.s. from the SUDOP Group. The group brings together long years of experience in projecting and engineering services with new business activities – e.g. road construction, public and private housing development, energetics, ICT, ecological buildings and geotechnics. GeoTec-GS offers a wide range of services in geotechnics, engineering geology, hydrology, geophysics, sanation geology and construction diagnostics. PUDIS is a traditional player in the projecting, land survey and engineering field, working mostly in the area of road and rural engineering.
The client has requested the development of a new system for monitoring and evaluation of geodetic measurements on line construction sites (e.g. tunnels and roads). Suppliers of construction progress monitoring services can, using the system, upload their data from individual tracked points within the construction site and so the client can oversee the construction progress in real time and immediatelly identify potential risks.
What did the client expect from the system?
- Realisation of the application with web client-server architecture and central database server.
- Possibility to slice the project up to individual points of the measured profile.
- Definition and evaluation of warning flags for measured data series.
- Definition of individually-defined nominal profiles.
- Compatibility of measurements for different types of excavation faces, convergence measurement and the option to user-define specific measurements for any tracked data series.
- Asynchronic computations of shifts within convergence measurements.
- Graphical visualisation of measured values in time, with the option to change the scale of axes.
- Visualisation of the profile, including the visualisation of the vector of shifts.
- Import of measurements from files with wide scale of validations.
- Option to display a graph preview before the confirmation of an import, so as to review the future outcome.
- Batch export of profiles into pdf files.
- Administration console allowing the admin to assign users detailed rights to specific entities within the project (e.g. supplier to specific profile).
- Visualisation of the project on map.
- Uploading of attachments to any entity.
- Export of data to csv.
- Localisation to Czech and English language.
How does the solution look like?
It is an MVC appplication, with React components used for the more complicated functionalities of front-end. ORM framework Entity framework 6 is used to access the MS SQL database. During its creation we have used our internal framework built over ASP.NET Boilerplate.
From the UX point of view we wanted to maximise a clean and simple design and modern navigation within the application.
A lot of the information is presented in the form of tables, to which purpose we utilised DataTables.net. The visualisation of measurements is displayed via Chart.js library graphs. Maps use open-sourced OpenStreetMaps data.
Application includes a complex user administration rights console, which allows to assign a specific user access over a single entity, including whole hierarchy below it.
Administration of data options allows to define custom colours, icons for nominal points and their usage within the definition of a nominal profile. It further allows to create custom type of measurements, within which it’s possible to define 1+ tracked parameters. Thus the application offers a high flexibility and wide range of uses.
The calculation of convergence measurement utilises in-memory Jobs from ASP.NET Boilerplates. Adding and evaluation of warning flags uses nCalc library, thanks to which the admins can define a custom warning flag formula.
Client can see the current progress of realisation on the project dashboard, including possible triggered warning flags, data from last measurements and excavations status. The dashboard also includes a map with projects localisation, which is the first step in development of the application into a GIS format (all dasboard data is visualised in the map).
An additional important functionality is the option to export profiles to PDF and thus to create project documentation.
When and for how long did the development take place?
Major development lasted from summer of 2018 to spring of 2019 with additional smaller changes during summer of 2019. With the help of my colleague Vašek I have worked on the app and unit test development, analyses and testing was covered by other teammates. During Q3 2019 we are adding GIS functionality to the application.
What is the technology stack?
- .net Framework 4.7
- ASP.net MVC 6
- ASP.NET Boilerplate web application framework
- Entity Framework 6
- MS SQL 2017
- ReactJS components
- HTML5, SASS, ECMA6 (babel)
- Chart.js, DataTables, OpenStreetMaps, DropZone.js, jQuery, Bootstrap
- Webpack, npm
What new did you learn?
The construction industry has a great potential for digitilisation and this project was for me and LinkSoft an opportunity to gain experience in this field. And apart from the chance to use the newest technologies, I had to re-learn how to use the pythagoras theorem in 3D space, or learn the basics of technical drawings reading :)
Milan, ReactJS a .NET developer, in LinkSoft since 2017