Reptile Riddles is a dynamic, full-stack web application designed to ignite the fun in learning through interactive quizzes. Users like you can:
- Become a Quiz Master: Craft compelling quizzes with ease. Add questions, set difficulty levels, and choose from various question types, including multiple choice, true/false, and open-ended. Edit and refine your quizzes anytime to keep them fresh and engaging.
- Challenge and Connect: Share your quizzes with friends, classmates, or colleagues. Invite them to test their knowledge. Witness your creativity come alive as others answer your questions and strive for the top spot.
Table of Contents
This application is a dockerized monolith. Once you have the docker CLI installed, running the project will only take one command.
- Ensure you have Docker CLI installed
- Clone the repository from here
- Navigate to the project root
- Run the application:
$ docker compose up
- Once the application is running, you can access the frontend at http://localhost:3000/
- Stop the application:
$ docker compose down
- If you encounter issues, check the Docker logs:
$ docker compose logs
This repository contains automated UI tests for Reptile Riddles using Selenium WebDriver. The project is built with Maven and is designed to be easily configurable and extendable.
Before you begin, ensure you have met the following requirements:
- Java Development Kit (JDK): Version 22 or higher.
- Maven: Version 4.0.0 or higher.
- WebDriver Executables: Chrome Driver executables are installed.
- The application is up and running
-
Clone repository:
git clone [email protected]:CodecoolGlobal/test-the-riddles-2-general-qutasi.git
-
Navigate to the project root
-
Install dependencies:
mvn clean install
-
Running tests:
mvn test
These user stories not only define the core functionalities of the application but also guide the scope of our test coverage. Each story corresponds to a specific set of test scenarios, ensuring that the application is thoroughly tested to meet user needs and maintain quality standards.
- 1. As a new user, I want to choose my own username and password during registration so that I can personalize my login credentials.
- 2. As a user, I want an option to stay logged in, so that I don’t have to enter my credentials every time.
- 3. As a quiz master, I want to create quizzes so that I can invite others to play.
- 4. As a quiz master, I want to select one correct answer for each question so that it is clear if a player got it right or not.
- 5. As a quiz master, I want to add more answer options to each question so that I can create a versatile quiz.
- 6. As a quiz master, I want to set the time players have to answer each question so that I can configure the difficulty of the questions.
- 7. As a quiz master, I want to make modifications to quizzes I had created so that I can make my quizzes better.
- 8. As a quiz master, I want to delete a quiz so that I can keep my dashboard clean.
- 9. As a quiz master, I want to use my fellow quiz masters' quizzes so that I have more options to organize games.
- 10. As a quiz master, I want to open a lobby for a quiz so that players can see what is about to be played and they can join in.
- 11. As a quiz master, I want to see the results when the game ends so that I can reward the winner.
- 12. As a player, I want to play quizzes so that I can compete against others.
- 13. As a player, I want to see what games accept players so that I can choose which one to join.