https://trivia-duck.netlify.app/
Dear User,
We welcome you to our quizz game based on Open Trivia DB API. We hope it helps you to unwind and have couple of laughs along the way. We even hope it will spark a little bit of nostalgic feeling for you and your family and will encourage you to get together and spend your evening in a good company! Without further ado, fasten your belts: Ready! Steady! Take off! 🚀
Create multiplayer quizz web app with a space theme design that would allow users to simultaneously answer questions, choose No. of questions for each game and level of difficulty as well as topic of the quiz. Storage of high scores is also to be included.
- Clone the repository into a folder on your local machine
- cd into clien and api and run installation command
npm install
in each one to install all required dependencies - cd into the newly created folder and open code editor of your choice
- Client and server will have to be started separately in the following way:
- cd into client and run
npm run dev
command - cd.. out of client and run
bash _scripts/startDev.sh
command (for other shells replace bash as appropriate) - Browser tab should open automatically in your default browser. If page does not render on successful compilation of the client, open it by typing
localhost:8080
.
- React
- Redux
- MongoDB
- SocketIO
- Docker Compose
- Bootstrap front-end framework
- Express back-end framework
- SASS/SCSS for styling
- Axios API for data fetching
Main stages of the process were:
- Initial brainstorming:
- whole group collaborated on creating initial PhotoShop mockups of the game;
- came up with initial name ideas;
- chose main theme for the game and icon
- thought out our intended audience to tailor design decisions
- Implementation of initial design layout and creating routed pages in React.
- Creating corresponding components for each page.
- Refining each design page to unify the style of the app.
- Adding extra style features like animations and theme transitions
- Design has been greatly enhanced by following React-Redux philosophy. Authors of the app attempted to stay true to the philosophy of these tools and tailored our code to reflect this.
- Agile team working approach
- Tickets were created as part of a team effort using GitHub Kanban board after initial design specifications were set.
- Team members would take on whatever tickets they felt capable of and interested in tackling.
- Communication was crucial through central channel on Slack to ensure no duplicate or conflicting work was created.
- Project was broken down into self-contained short sprints to deliver project on time and mitigate any rolling risks.
Basic initial design (game page)
- Successfully integrated Open Trivia DB API for quiz game part.
- Animations made styling much more interesting and engaging.
- Managed to create a consistent brand for the product that is visually appealing.
- Successfully implemented Socket.io to allow multiplayer user game.
- Implemented Redux flow to manage state globally and stay on top of product complexity.
- Testing many components and layers of the application.
- Code hygiene and efficiency