mirror of
https://github.com/olehomelchenko/minivlat-local-ua.git
synced 2025-12-21 21:22:24 +00:00
55 lines
2.4 KiB
Markdown
55 lines
2.4 KiB
Markdown
# local mini-VLAT
|
|
|
|
This project is a simple web application designed to collect responses from users through a randomized quiz format. The application consists of several pages, including a consent page, a quiz page, a questionnaire, and a results page.
|
|
|
|
## Project Structure
|
|
|
|
```
|
|
.
|
|
├── public
|
|
│ ├── index.html # Main entry point for the web application
|
|
│ ├── consent.html # Consent page for users
|
|
│ ├── quiz.html # Quiz page that loads questions dynamically
|
|
│ ├── questionnaire.html # Questionnaire for additional participant information
|
|
│ └── results.html # Results page displaying quiz outcomes
|
|
├── src
|
|
│ ├── js
|
|
│ │ ├── app.js # Main JavaScript file for app initialization and routing
|
|
│ │ ├── consent.js # JavaScript logic for the consent page
|
|
│ │ ├── quiz.js # JavaScript for managing quiz functionality
|
|
│ │ ├── questionnaire.js # Logic for the questionnaire
|
|
│ │ └── results.js # Processing and displaying quiz results
|
|
│ ├── css
|
|
│ │ └── styles.css # Styles for the web application
|
|
│ └── data
|
|
│ └── questions.json # Questions and answers in nested JSON format
|
|
├── package.json # npm configuration file
|
|
├── server.js # Simple backend server for handling requests
|
|
└── README.md # Documentation for the project
|
|
```
|
|
|
|
## Features
|
|
|
|
- **Consent Page**: Users can read consent information and proceed to the quiz.
|
|
- **Randomized Quiz**: Users are randomly assigned one of four quiz versions.
|
|
- **Dynamic Question Loading**: Questions are loaded from a JSON file based on the assigned quiz version.
|
|
- **Questionnaire**: A follow-up questionnaire collects additional information from participants.
|
|
- **Results Display**: Users can view their quiz results, including correct and incorrect answers.
|
|
|
|
## Setup Instructions
|
|
|
|
1. Clone the repository to your local machine.
|
|
2. Navigate to the project directory.
|
|
3. Install the necessary dependencies using npm:
|
|
```
|
|
npm install
|
|
```
|
|
4. Start the server and bind it to all network interfaces (0.0.0.0):
|
|
```
|
|
node server.js --host 0.0.0.0
|
|
```
|
|
5. Open your web browser and go to `http://localhost:3000` to access the application.
|
|
|
|
## Contributing
|
|
|
|
Feel free to submit issues or pull requests for any improvements or bug fixes. |