This app allows a player to create a trivia game to get the brain going in a quick and easy way! The app provides a list of AI-generated multiple choice trivia questions about your topic of choice and shows you how you did at the end of the game. New features include a responsive app design and an option to receive game stats via email!
Version: 1.0
Technologies Used
Note: the front-end and back-end are both deployed, so installation is not needed to use the web app. FE installation is required to run tests.
- Run the following on command line to clone the repo and run the app locally:
git clone [email protected]:Brain-Defrost/Brain-Defrost_FE.git cd Brain-Defrost_FE npm install npm start
- Link to Brain Defrost BE repo
- Deployed API link
https://brain-defrost-f8afea5ead0a.herokuapp.com
- See setup instructions here
- Ensure you're running the app locally (see FE Installation Instructions above)
- Run the following on command line to open Cypress:
npm run cypress
- Click
E2E Testing
, thenStart E2E Testing
in desired browser - Select
App_spec
to run user story tests - Select
GamePlay_spec
to run game play test - Select
Error_spec
to run error handling tests
This project was completed over 2 one-week sprints (about 35 hours). The team comprised 2 frontend developers and 3 backend developers as a Capstone Project for the final inning of Turing School of Software and Design bootcamp. Part 1 of the project was planning and completing our app's minimum viable product (MVP). Part 2 focused on refinement and adding additional features like
- Full connection to BE
- Background job for stats emails
- Enhanced UI with elements like modals, responsive design, and loading displays
- Multiplayer capability
- Use scrum methodology to collaborate as a full stack team and provide production-ready software
- Explore new concepts, libraries, or patterns
- Practice professional git workflow
- Build application that executes in development, test, CI, and production enfironments
- CI/CD pipeline implementation
- Postman mock server used for network requests during development
- Multiplayer gameplay capability
- Testing gameplay and different user perspectives(game creator vs joining player) efficiently but thoroughly
- Developing features for players to join game from a different browing session/window/device - problem approached by using encoded data stored in URL
- Single-page application routing incompatability with GitHub Pages - problem approached by using a rerouting script in the `index.html` file
- Having game data update in real time across all participating clients
- Light & Dark mode display settings
- Single-player vs Multi-player modes
- `Surprise Me` button that will generate a trivia game with a surprise category
BE Team
FE Team