Skip to content

Brain-Defrost/Brain-Defrost_FE

Repository files navigation

🧠Brain Defrost🥶

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

Preview:

app demo

Technologies Used

typescript badge html badge css badge react badge router badge cypress badge figma badge lighthouse badge github actions badge postman badge netlify badge

Installation Instructions

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.

FE Installation Instructions:

  • 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
    

BE Installation Instructions:

  • Link to Brain Defrost BE repo
  • Deployed API link https://brain-defrost-f8afea5ead0a.herokuapp.com
  • See setup instructions here

Run Tests:

  • 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, then Start 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

Context:

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

Goals

- 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

Wins

- CI/CD pipeline implementation
- Postman mock server used for network requests during development
- Multiplayer gameplay capability

Challenges

- 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

Upcoming Features

- Light & Dark mode display settings
- Single-player vs Multi-player modes
- `Surprise Me` button that will generate a trivia game with a surprise category

Design Comp

design composition

Contributors

BE Team

FE Team