The goal of this project is to build an app that combines my previous projects, Handwriting & Speech recognition, Single sign-on and the Email Service in a microservice architecture maintained with Kubernetes. With this app users have the abillty to create, configure, learn and share flash cards. The time between learning flashcards is based on the users learning curve attached to the card, which is calculated with the SuperMemo 2 spaced repetition algorithm and depends on feedback given to the card and the time it takes to answer the flashcard. Furthermore the app provides insight into the users learning retention with leaderboards and data visualisation.
- Authentication Service (.NET 5.0)
- Email Service (.NET 5.0)
- Transcribing Neural Network Service (Django)
* prerequisite - docker installed
steps
- Override secrets in docker-compose with a docker-compose.vs.debug.yml file or define the secrets as environment variables in your pipeline
- Run "docker-compose -f docker-compose.yml -f docker-compose.override.yml -f docker-compose.vs.debug.yml up -d"
This repository also builds a docker image for the Angular app, but is only used in Kubernetes. For local development in Angular please use ng serve.
docker-compose.vs.debug.yml example file
version: '3.8'
services:
teacherdidac.web:
environment:
AUTH_SERVER_URL: http://teacherdidac.authentication
teacherdidac.scheduler:
environment:
DB_HOST: teacherdidac.db
DB_NAME: ScheduleDb
DB_USER: root
DB_PASSWORD: secretKeY12345678!@34
HANGFIRE_USER: admin
HANGFIRE_PASSWORD: test
teacherdidac.authentication:
environment:
DB_HOST: teacherdidac.db
DB_NAME: IdentityDb
DB_USER: root
DB_PASSWORD: secretKeY12345678!@34
JWT_SECRETTKEY: [your secret PKCS #8 key]
JWT_ISSUER: [You]
EMAIL_APPKEY: [Your google email app key]
teacherdidac.db:
environment:
MYSQL_ROOT_PASSWORD: secretKeY12345678!@34