🌍 A fun and interactive quiz game about geography, developed during an international semester in Malaysia by Carla Gros-Alcaraz and me.
TerraQuiz is a web application that offers an entertaining way to test your geography knowledge. Users can explore different categories and difficulty levels, making learning about the world both fun and challenging.
This project was developed as part of an academic semester in Kuala Lumpur, Malaysia.
- 🌐 Play Geography Quizzes: Engage in a quiz game focused on geography.
- 🔍 Category Selection: Choose from a variety of geographic categories.
- 🌱 Difficulty Levels: Customize your quiz experience by selecting different difficulty levels.
- Frontend: Vue.js for building the user interface.
- Backend: Node.js with Express for the API.
- Database: MySQL for managing quiz questions and user data.
To set up TerraQuiz, you need to create environment files for both the client and the server.
- Client (.env): Add the following variable:
Variable | Description | Default value |
---|---|---|
VUE_APP_SERVER_API_URL |
API URL | localhost:3000 |
VUE_APP_SERVER_API_URL=http://localhost:3000
- Server (.env): Add the following variables:
Variable | Description | Example |
---|---|---|
SERVER_PORT |
Server port | 3000 |
CLIENT_URL |
URL of the frontend | localhost:8080 |
DB_HOST |
Hostname of the MySQL Db | localhost |
DB_USER |
Username of the MySQL DB | user |
DB_PWD |
Password of the MySQL DB | password |
DB_NAME |
Name of the MySQL DB | terraquiz_db |
JWT_SECRET |
Secret key for the JWT Auth | secret_key |
SERVER_PORT=3000
CLIENT_URL=http://localhost:8080
DB_HOST=localhost
DB_USER=user
DB_PWD=password
DB_NAME=terraquiz_db
JWT_SECRET=secret_key
You will also need to create a MySQL database using the schema provided in the database
folder in the db&data.sql
file.
To install the project dependencies, run:
cd client && npm install
cd server && npm install
To start both the client and the server, run:
npm run all