This is a project for learning purposes, developed during my training period before becoming a member of the Software Subsystem at Hyperloop UPV.
The application is a dashboard that simulates the performance of a web server, displaying fictitious data (randomly generated) on CPU usage, RAM usage, and other performance metrics.
The project has the following simple structure:
/server-dashboard
/client
/server
- TypeScript
- ReactJS
- SCSS
- Zustand
- React-Router
- CanvasJS
- Go
The back end receives packets via TCP/UDP, extracts the payload, checks that all is correct, and sends it to the front end via WebSocket connection (real-time communication).
It is possible also to activate a logger functionality to log into the operating system (CSV file) all the data received in a session (by passing a flag when executing the back end).
Then. the front end receives the data and displays it on real-time charts by using a third-party library called CanvasJS.
![Captura de pantalla 2024-06-15 a las 12 05 18](https://private-user-images.githubusercontent.com/76229993/339973056-e9a1317c-fe67-465e-9b4d-68be64fb4376.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE2MzU3NzUsIm5iZiI6MTcyMTYzNTQ3NSwicGF0aCI6Ii83NjIyOTk5My8zMzk5NzMwNTYtZTlhMTMxN2MtZmU2Ny00NjVlLTliNGQtNjhiZTY0ZmI0Mzc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIyVDA4MDQzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRkYmQ3MTBhYzdiY2IzZTEyZWExMzIyMzAxN2ZlNGM0M2FlZDk1NWI1MmI1ZWZmNjAwNzEwZDZiMDVlMGNkYWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.lgpvr8V9xiF8ePwDGOP0qD7g_mK9YJQIrmrPi5oOQF8)
![Captura de pantalla 2024-06-15 a las 12 08 14](https://private-user-images.githubusercontent.com/76229993/339973070-1977028b-6b17-4966-a31d-aca094a6eb0c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE2MzU3NzUsIm5iZiI6MTcyMTYzNTQ3NSwicGF0aCI6Ii83NjIyOTk5My8zMzk5NzMwNzAtMTk3NzAyOGItNmIxNy00OTY2LWEzMWQtYWNhMDk0YTZlYjBjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIyVDA4MDQzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTlhZTAyNTJkMzViYjA1YWY1MjdkNGQ0OTZmYzY3ZTQ0MmRiZjJkOWFjYzU4Y2FkNWQyOGViZWU1MTMxZmIwYzEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.rStSKQiYMI0TcQtsgOOJ6zKXA0uEeXl0QFFitYCWckw)
![Captura de pantalla 2024-06-15 a las 12 08 28](https://private-user-images.githubusercontent.com/76229993/339973073-d6e50ebe-311e-486b-94ef-34cfd2f2209b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE2MzU3NzUsIm5iZiI6MTcyMTYzNTQ3NSwicGF0aCI6Ii83NjIyOTk5My8zMzk5NzMwNzMtZDZlNTBlYmUtMzExZS00ODZiLTk0ZWYtMzRjZmQyZjIyMDliLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIyVDA4MDQzNVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTA5ZjQ0MzBlYTM5YmVmZjY1ZTE3ZjViNTA0YmFlZjk2OTlhOGUyOGIyOWY4YTNhYWNmMWFmOTk5ZWU1ZGEyMDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.ahjJgfpqHw5KU2F5L8_rXiCxzVmHuTpAPfDxRRLPK9Q)