Awesome Open Source
Awesome Open Source

Quiz App

Simple EventSourcing example using .NET Core, React, Docker, Jenkins and K8s.



  • run with minikube

    • Setup minikube


    • Setup dnsmasq (optional)

      sudo INGRESS_DOMAIN=quiz.internal ./k8s/hack/

      Notes: For automatic dns wilcards resolution use dnsmasq

    • Install jenkins and quiz app

      • Export the following environment variables:

        export INGRESS_DOMAIN='quiz.internal'
        export QUIZ_ENVIRONMENT='production'
        export TAG_BRANCH=master
        export REGISTRY=localhost:30400
        export TAG=latest
        export JENKINS_PASSWORD=changeit
        export GITHUB_REPO=netcorebcn/quiz
        export GITHUB_USER=mygithubuser
        export GITHUB_TOKEN='<TOKEN>'
      • Execute ./k8s/hack/

      • Add ingress hosts to local host file (only if dnsmasq is not setup)

        echo $(minikube ip) {jenkins,rabbit,registry}.quiz.internal quiz.internal | sudo tee -a /etc/hosts

      • Open http://jenkins.quiz.internal/job/quiz/ and Build!

      • Once its build Open http://quiz.internal and http://quiz.internal?results

      • Github integration for Pull Request workflow

        ./ngrok http jenkins.quiz.internal:80 -host-header=jenkins.quiz.internal

    Setup script example

    You can use full example setup with ngrok and dnsmasq integration: ./k8s/hack/, it requires to store the enviroment variables in a secrets file.


Some slides on the process here:

We aren't starting from the scratch. We are using ideas and code from other awesome repos.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c-sharp (10,523
react (4,499
docker (2,348
kubernetes (1,398
postgresql (596
microservices (385
postgres (232
rabbitmq (221
k8s (174
dotnetcore (156
jenkins (155
aspnetcore (152
helm (138
cqrs (136
ddd (135
ci-cd (59
helm-charts (35
jenkins-pipeline (32
eventsourcing (32
minikube (28

Find Open Source By Browsing 7,000 Topics Across 59 Categories