Atlas Copco Logger/Display App
Frontend development for a web application that logs and visualizes measurement data from industrial equipment.
Published on: 2024-12-20

Overview
This web application was developed for Atlas Copco to streamline the process of logging and sharing measurement data from their machines.
The tool needed to serve both technicians performing measurements (air, electricity) and representatives who need to share and input this data for clients. The goal was to provide a central, user-friendly interface for data management and configuration.
Approach
As a Frontend Developer, I worked within a team of three (Frontend, Backend, Integration). We followed an Agile methodology with weekly sprints and meetings, both internally and with stakeholders at Atlas Copco.
Although my focus was on the frontend (React, TypeScript, Tailwind CSS), significant interaction with the backend team (C#, Node.js, PostgreSQL) was necessary due to limited documentation. This led to co-defining and implementing custom endpoints and TypeScript interfaces to ensure smooth communication between front and backend.
// Example of the TypeScript interfaces we created
export interface Measurement {
id: string;
clientId: string;
machineId: string;
timestamp: Date;
readings: MeasurementReading[];
createdBy: string;
notes?: string;
}
export interface MeasurementReading {
sensorId: string;
value: number;
unit: 'bar' | 'psi' | 'celsius' | 'fahrenheit' | 'kWh';
status: 'normal' | 'warning' | 'critical';
}
export interface MeasurementFilter {
clientId?: string;
machineId?: string;
startDate?: Date;
endDate?: Date;
sensorIds?: string[];
}
We used Auth0 for user authentication and authorization, which provided a secure way to manage user roles and permissions.
Features
The application enables users to:
Data Entry
Enter measurement data per client or machine via a structured form
Data Visualization
View entered data in a clear tabular display with relevant units
Configuration Management
Create and manage specific configurations for different clients or installations
Role-Based Access
Manage user roles via Auth0, ensuring the right people have access to the right data
Challenges
A significant challenge was correctly implementing authentication and authorization with Auth0, particularly passing and validating tokens for various user roles.
This project emphasized the importance of:
- Intensive use of debugging tools like Postman and browser inspect tools to quickly identify communication issues
- Clear communication and close collaboration within the team, especially with incomplete documentation
- Proactively creating documentation (such as TS interfaces) to facilitate integration
This project significantly improved my skills in front-end development, API integration, and working with authentication systems in a professional environment.