Terug naar projecten

Pingsage

Monitor eenvoudig websites en services.

Project Screenshot 1
Project Screenshot 2
Project Screenshot 3
Project Screenshot 4
Project Screenshot 5
Project Screenshot 6

Tech Stack

  • Python

    Backend Runtime

  • Java 21

    Backend Runtime

  • FastAPI

    Backend RestAPI Framework

  • Node JS

    Frontend Runtime

  • Sveltekit

    Frontend Framework

  • MongoDB

    Database

  • ChartJS

    Frontend Library

Pingsage

Pingsage is een applicatie in ontwikkeling, ontworpen om websites en services te monitoren. Niet omdat zoiets nog niet bestaat, maar als een creatieve speeltuin om mijn vaardigheden in diverse talen en technieken verder aan te scherpen.

Functionaliteit

Met Pingsage kun je gemakkelijk een configuratie invoeren om verschillende websites en services te monitoren. Dit kan simpelweg de uptime zijn of de responstijd, maar het biedt ook de mogelijkheid om custom metrics op te halen vanuit een API.

Een configuratie bestaat uit een service. Bij elke service is het mogelijk om targets in te stellen, elk met een eigen monitor. Middels een mooi gestileerde grafiek kun je eenvoudig inzicht krijgen in de waarden die daaruit voortkomen.

Ook wil ik de mogelijkheid bieden om alerts in te stellen die flexibel van aard zijn. Zo bepaal je zelf wanneer je op de hoogte wordt gehouden van een verandering in je services. Daarnaast wil ik websockets gebruiken, zodat de gebruiker aan de client-side realtime updates krijgt.

Gebruik van Technologie

De frontend is gemaakt met SvelteKit in combinatie met TailwindCSS. Voor de grafieken gebruik ik CharJS. Ik gebruik v0 voor het design.

De data wordt opgeslagen in MongoDB, met als reden omdat de configuratie variabel, een een relationele DB te statisch is.

Java is de motor in de backend die verantwoordelijk is voor de I/O operaties om de metrics op te halen. Hierbij maak ik gebruik van Java 21 Virtual Threads zodat ik goedkoop concurrent verzoeken kan versturen.

Voor de RestAPI gebruik ik Python's FastAPI. Dit framework maakt het gemakkelijk om gebruik te maken van websockets.

Leerproces & Ontwikkeling

Pingsage is een lopend project in ontwikkeling. Mijn doel is om een platform te bouwen waarin ik de virtual threads van Java kan benutten, verschillende concepten in Python kan herhalen en mijn kennis van TypeScript en Svelte verder kan verdiepen.

Stap voor stap werk ik de backend en frontend uit, waarbij ik elke feature zorgvuldig toevoeg. Zo ontstaat uiteindelijk een compleet en goed geïntegreerd product.

Meer Projecten

Mijnbonnetje

Mijnbonnetje

Een applicatie ontworpen om gemakkelijk je bonnetjes en uitgaves bij te houden.

PythonSvelteFastAPIOCR
View Details
Software Assessment

Software Assessment

Voor mijn bedrijf heb ik een project ontwikkeld als onderdeel van een selectieprocedure voor een stage in de software shorttrack. Dit project diende als toelatingseis,

PythonReactCacheRedis
View Details
Untitled

Untitled

Een mobiele web applicatie om films en series bij te houden. Ook krijg je informatie over waar deze content te streamen is.

Angular JSJavaSpringbootJunitHibernate
View Details
CI/CD Compose

CI/CD Compose

Dit Python-script automatiseert het deployen van applicaties op basis van Docker Compose. Het voert configuratievalidaties uit en stuurt notificaties bij succesvolle of mislukte builds, waardoor het proces efficiënter en betrouwbaarder wordt.

PythonDockerSQLite
View Details