Terug naar projecten

Mijnbonnetje

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

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

Tech Stack

  • FastAPI

    Backend Framework

  • Python

    Backend Runtime

  • SvelteKit

    Frontend Framework

  • PostgreSQL

    Database

  • OCR

    Image Scanning

  • Websockets

    Bi-directional

Mijnbonnetje

Dit project ontstond uit een persoonlijke behoefte: ik verloor vaak bonnetjes en had daardoor minder goed inzicht in mijn uitgaven. Tegelijkertijd wilde ik mijn programmeervaardigheden verbeteren en mezelf uitdagen met nieuwe technologieën.

Functionaliteit

De applicatie maakt het mogelijk om fysieke bonnetjes te scannen, de gegevens automatisch uit te lezen met Optical Character Recognition (OCR) en deze vervolgens op te slaan in een database. Gebruikers krijgen een handig overzicht van hun uitgaven per maand en kunnen bonnetjes filteren op winkel, categorie of scanstatus. Ook kunnen gegevens worden geëxporteerd voor verdere analyse.

Gebruik van Technologie

Om het scannen van bonnetjes efficiënt te laten verlopen, wordt de verwerking asynchroon afgehandeld. Zodra een bonnetje wordt geüpload, wordt het scannen op de achtergrond uitgevoerd en ontvangt de gebruiker een melding zodra de gegevens beschikbaar zijn. Dit voorkomt lange wachttijden en zorgt voor een soepele gebruikerservaring.

Daarnaast wordt caching ingezet om veelgebruikte gegevens sneller op te halen en minimaliseert een message broker de belasting op de server door taken in de juiste volgorde af te handelen. De frontend communiceert met de backend via een WebSocket-verbinding, zodat updates real-time zichtbaar zijn zonder de pagina te hoeven verversen.

Leerproces & Ontwikkeling

Dit project heeft mij enorm veel geleerd over softwareontwikkeling. Ik heb de basis van REST API's en authenticatie geleerd, evenals hoe ik een applicatie- en databasearchitectuur opzet. Daarnaast heb ik kennisgemaakt met message brokers voor asynchrone taken en WebSockets voor real-time communicatie. Ook heb ik gewerkt met een frontend framework in combinatie met Tailwind CSS om een overzichtelijke en gebruiksvriendelijke interface te creëren.

Naast technische vaardigheden heeft dit project mij ook geholpen om beter te plannen en ontwerpen voordat ik begin met coderen. Ik ben meer gaan denken en werken volgens Test Driven Development (TDD), wat me heeft geholpen om gestructureerder te werken en mijn code betrouwbaarder te maken.

Status & Toekomstplannen

De applicatie is momenteel een work in progress en nog niet online beschikbaar vanwege andere verplichtingen.

Dit project heeft me veel geleerd over softwareontwikkeling en probleemoplossing in de praktijk.

Meer Projecten

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
Pingsage

Pingsage

Deze app biedt een eenvoudige manier om verschillende servers en websites te monitoren op responstijd, uptime en aangepaste metrics. Met behulp van overzichtelijke en visueel aantrekkelijke grafieken krijg je snel inzicht in de prestaties van je systemen, zodat je problemen tijdig kunt opsporen en verhelpen.

JavaPythonTypeScriptMongoDB
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