Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/michaelkernaghan/croquet-quiz-game

Newer version of LLM derived questions croquet quiz.
https://github.com/michaelkernaghan/croquet-quiz-game

Last synced: 9 days ago
JSON representation

Newer version of LLM derived questions croquet quiz.

Awesome Lists containing this project

README

        

# Croquet Quiz Game

A web-based quiz application for testing and improving croquet knowledge, featuring questions drawn from authoritative sources in the croquet world.

## Features

- Interactive quiz interface with multiple-choice questions
- Score tracking and achievement levels
- Daily and all-time high score boards
- Question feedback with source citations
- "Dubious Question" feature for flagging questionable content
- Responsive design for desktop and mobile use

## Technology Stack

- Frontend: Vanilla JavaScript, HTML5, CSS3
- Backend: Node.js, Express
- Data Storage: JSON files, Local Storage for scores

## Setup

1. Clone the repository:
```bash
git clone https://github.com/michaelkernaghan/croquet-quiz-game.git
cd croquet-quiz-game
```

2. Install dependencies:
```bash
npm install
```

3. Start the server:
```bash
node src/server.js
```

4. Open your browser and navigate to `http://localhost:3000`

## Development

### Project Structure

```
croquet-quiz-game/
├── src/
│ ├── frontend/ # Frontend assets
│ │ ├── app.js # Main application logic
│ │ ├── styles.css # Styling
│ │ └── index.html # Main HTML
│ └── server.js # Express server
├── rag/ # Source materials
├── docs/ # Documentation
├── scripts/ # Utility scripts
└── public/ # Static assets
```

### Question Format

Questions are stored in JSON format with the following structure:

```json
{
"question": "Question text",
"answers": [
{
"answer": "Option A",
"correct": false
},
{
"answer": "Option B",
"correct": true
}
],
"citation": "Source reference",
"category": "Category name",
"correctTheory": {
"title": "Theory title",
"summary": "Explanation of the correct answer"
}
}
```

### Adding New Questions

1. Questions can be added to `src/frontend/croquet-questions.json`
2. Each question must include:
- Question text
- Multiple choice answers (with one correct)
- Source citation
- Category
- Correct theory explanation

### Data Sources

Questions are derived from authoritative croquet sources:
- MacRobertson Shield 2022 Commentary
- Oxford Croquet Articles
- Expert Croquet Tactics by Keith Wylie
- World Croquet Federation Guidelines

## Contributing

1. Fork the repository
2. Create a feature branch
3. Commit your changes
4. Push to the branch
5. Create a Pull Request

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Acknowledgments

- Questions generated by Claude 3.5 Sonnet and curated by A. Human
- Special thanks to the croquet community for maintaining comprehensive documentation
- Built with respect for the traditions and technical aspects of croquet