Daalakker 9, 2200 Herentals
Activity Recommendation Service (APT)
Beschrijving:
Voor de APT (Advanced Programming Techniques) cursus heb ik een microservice-gebaseerd programma ontwikkeld dat activiteitsaanbevelingen biedt die zijn afgestemd op de huidige stemming van de gebruiker. Gebruikers kunnen veilig inloggen via Google Authentication en toegang krijgen tot gepersonaliseerde activiteitssuggesties. Het programma is gebouwd met behulp van moderne technologieën en tools, met robuuste beveiliging en schaalbaarheid die worden gegarandeerd door een gateway en Kubernetes-orkestratie.
Een gedetailleerde demo van het programma is beschikbaar op GitHub and a walkthrough video can be found on YouTube.
Belangrijkste kenmerken
User Features:
- Mood Input: Gebruikers kunnen hun huidige stemming selecteren, waarna de service activiteiten voorstelt die bij die stemming passen.
- Activity Recommendations: Activiteiten worden automatisch opgehaald en aanbevolen met behulp van een microservicearchitectuur die stemmings- en activiteitsgegevens met elkaar verbindt.
- Google Authentication: Beveiligd inlogsysteem geïntegreerd met Google OAuth voor gebruikersauthenticatie.
Backend Architecture:
- Microservices: Gescheiden services voor stemmings- en activiteitsgegevens, waardoor modulariteit en schaalbaarheid worden gewaarborgd.
- Gateway Security: Een API-gateway beveiligt alle microservicecommunicatie en externe toegang.
- Dockerized Environment: De applicatie is gecontaineriseerd met behulp van Docker, wat consistente en draagbare implementaties mogelijk maakt.
Front-End Features:
- React Interface: Een responsieve en intuïtieve front-end, gebouwd met React voor het selecteren van stemmingen en het bekijken van activiteiten.
- Real-Time Updates: Naadloze interactie tussen de front-end en back-end via API's.
Deployment and Orchestration:
- GitHub Integration: Gebruik van GitHub Flows voor continue integratie en implementatie.
- Docker Compose & Hub: Alle services zijn gecontaineriseerd met images die zijn opgeslagen op Docker Hub voor eenvoudige distributie.
- Kubernetes Orchestration: Kubernetes-bestanden voor implementatie en serviceschaling in clusters.
Gebruikte technologieën
- Backend: Node.js voor microservices, beveiligd door een API Gateway.
- Frontend: React voor een gebruiksvriendelijke interface.
- Authentication: Google OAuth voor veilige toegang.
- Containerization: Docker Compose en Docker Hub voor applicatieverpakking en imagebeheer.
- Orchestration: Kubernetes voor het schalen en beheren van de services.
- CI/CD: GitHub Actions voor geautomatiseerde test- en implementatieworkflows.
Leerresultaten
- Beheersing van de ontwikkeling van op microservices gebaseerde architecturen en de implementatie ervan in een Kubernetes-omgeving.
- Beter begrip van veilig API-beheer met een gateway en OAuth-authenticatie.
- Praktische ervaring opgedaan met Docker voor containerisatie en GitHub Flows voor geautomatiseerde CI/CD-pijplijnen.
- Ik heb een aantrekkelijke front-end gebouwd met React, waarmee ik mijn vaardigheden op het gebied van gebruikersinterfaceontwerp en API-integratie heb verbeterd.
Project Links
- GitHub Repository: Bekijk code
- YouTube Video Demo:
Conclusie
Dit project toont mijn vermogen om een veilige, schaalbare en gebruikersgerichte applicatie te ontwerpen en implementeren met behulp van moderne softwareontwikkelingspraktijken. De integratie van Google Authentication, Docker en Kubernetes benadrukt mijn expertise in het bouwen van robuuste oplossingen die voldoen aan de eisen van de echte wereld.
