EasyQuiz is a lightweight, clean, and simple quiz application written in Go. It was originally designed and used for an international festival to showcase a quiz about France.
You can see a live instance of the quiz (France edition) at: quiz.cyprien.ovh
- Simple & Clean UI: Focus on the content with a minimalist design.
- JSON Driven: Quizzes are easily configurable via a
quiz.jsonfile. - Fast: Powered by Go's efficient HTTP server and templates.
- Responsive: Works well on both desktop and mobile devices.
- Go (1.16 or later)
-
Clone the repository:
git clone https://github.com/cypriennn/EasyQuiz.git cd EasyQuiz -
Run the application:
go run main.go
-
Open your browser and navigate to
http://localhost:8080.
EasyQuiz is designed to be easily containerized and deployed.
To deploy with Docker, you can use the provided Dockerfile.
Then, you can use Nginx Proxy Manager to handle SSL and proxy requests to your container on port 8080.
The quiz content is managed in quiz.json. You can customize the title, background image, time limits, and questions:
{
"title": "My Awesome Quiz",
"image_url": "https://example.com/background.jpg",
"time_limits_per_type": {
"multiple_choice": 20,
"text": 30
},
"questions": [
{
"type": "multiple_choice",
"text": "What is the capital of France?",
"options": ["Lyon", "Paris", "Marseille"],
"answer": "Paris"
}
]
}This project is licensed under the MIT License - see the LICENSE file for details.