As suggested by Josh in his amazing course, I am building this app for unguided practice where I can apply the concepts learnt in the course. Here are a few concepts that I applied:
- Used the producer-consumer pattern to come up with easy-to-understand component APIs.
- Used the spectrum of components idea to redesign a component so it occupies a single spot on the spectrum.
- Used framer motion for realistic animations.
- Used RadixUI to build accessible toggle button, progress bar and a radio group.
You can check the deployed version of the app here: https://t67tlv-3000.csb.app/
This is part of a codesandbox workspace: https://codesandbox.io/p/github/andrewnessinjim/quiz-app/main?workspaceId=1b98656d-ba4b-426f-921e-5c9a62f55a7d
Here are a few things I would like to learn using this project:
- Apply consistent animations throughout the app to make it more cohesive.
- Use NextJS to support multiple quizzes and a leaderboard. (NextJS is part of the same course)
- Integrate Firebase for data persistence. (Firebase is not part of the same course)
- Include unit test cases and Cypress end-to-end tests.