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 (11,790
react (5,183
docker (2,739
kubernetes (1,663
postgresql (703
microservices (440
postgres (271
rabbitmq (243
k8s (215
dotnetcore (176
aspnetcore (175
ddd (169
jenkins (168
helm (163
cqrs (156
ci-cd (73
helm-charts (46
eventsourcing (35
jenkins-pipeline (32
minikube (28

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