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 (276,229
Reactjs (70,787
Docker (33,334
Kubernetes (11,201
Postgresql (7,452
Microservice (5,851
Dotnet Core (4,299
Asp Net Core (3,654
Postgres (2,151
Rabbitmq (2,079
Jenkins (1,857
K8s (1,688
Helm (1,508
Ci Cd (1,244
Ddd (1,070
Cqrs (994
Event Sourcing (911
Helm Charts (658
Jenkins Pipeline (343
Minikube (307
Related Projects