kavehbc / citizenship-test

Citizenship Test (Multiple Countries)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Citizenship Test

This is a public repository of the citizenship questions for the following countries:

  • Australia
    • 105 Questions
  • Canada (English)
    • 472 / 472 Questions Reviewed - Mar. 2023
    • Safe to shuffle the answers
    • Known Issues:
      • Since the questions are from multiple sources, there might be duplicated questions.
  • Canada (French)
    • 226 Questions
  • United Kingdom (UK)
    • 680 Questions
  • United States of America (U.S.A)
    • 152 Questions

Screenshot

App Screenshot

CONTRIBUTION

Please feel free to contribute to this repo by providing more questions and adding more countries.

Contribution to the questions

Find and edit the data file inside the data folder with the name of country. For example, to add questions for Canada (English), edit data/canada-en.json.

Contribution to the countries

If you want to introduce new countries, make a copy of the template data file data/template.json. Rename the new file to the country name, and add the questions inside.

Once the questions JSON file is ready, lst_countries dictionary inside main.py should be updated to include the added country.


Run

In order to run this app, you need to install the dependencies first based on _environment.yml. Once the dependencies are installed, run the dashboard using streamlit.

streamlit run ./main.py

Run on Docker

This application is available on Docker Hub, and it can be run directly using:

docker run -p 80:8501 kavehbc/citizenship-test

Once you run it, you can open it in your browser on http://127.0.0.1.

Live demo

You can check its live demo here: https://citizenship.streamlit.app/


Resources

Questions are collected from the following resources:


GitHub Repo

This project is open-source, and it is available on GitHub at https://github.com/kavehbc/citizenship-test.

Developer(s)

Kaveh Bakhtiyari - Website | Medium | LinkedIn | GitHub

About

Citizenship Test (Multiple Countries)

License:Apache License 2.0


Languages

Language:Python 93.8%Language:Dockerfile 6.2%