Avicenna Method
Dive into a world of curiosity with Avicenna Method! Named after the legendary polymath Avicenna (Ibn Sina), this trivia application is designed for those who seek a delightful blend of challenge and learning.
Description
Avicenna Method offers trivia enthusiasts and casual learners a chance to test and expand their knowledge across diverse categories. With a focus on a seamless user experience, app lets users tailor their quiz sessions and discover new facts in an engaging manner.
Live Demo
Experience the joy of learning. Engage with Avicenna Method.
Features
- Dynamic Quiz Generation: Choose your preferred category and set the number of questions.
- Flashcard Interaction: Click to flip and reveal the answers.
Preview of App
Technologies:
Avicenna Method is built using a blend of modern web technologies:
Setup & Installation
Get Avicenna Method running on your machine:
- Clone the repository:
git clone git@github.com:Sulton88Mehron90/showcase-project.git
- Move to the project directory:
cd showcase-project
- Grab the dependencies:
npm install
- Fire up the app:
npm start
Learning Highlights
- Deepened understanding of React and it's capabilities in building scalable applications.
- Delved into Cypress, navigating its complexities to ensure reliable testing.
- Successfully integrated with the Open Trivia Database API, bringing dynamic data to our quizzes.
- Embraced challenges, especially in crafting a user-centric multi-page experience with React Router.
Contributor
Meet the developer behind Avicenna Method:
Reflections
The "Avicenna Method" project was both a challenge and a learning curve. Delving deeper into React, Router, and asynchronous JavaScript expanded my understanding of frontend development. E2E with Cypress highlighted the significance of thorough testing, and designing for a specific audience underscored the importance of user-centric development. Despite the hurdles, like complex error handling, each obstacle strengthened my resolve and skills as a budding developer.
Major Triumphs
- React: Dived into React and built dynamic components, making the app come alive.
- React Router: Introduced multiple views in the app, creating a seamless navigation experience for users.
- Asynchronous JavaScript: Managed API requests smoothly, ensuring users receive fresh trivia questions on demand.
- Cypress Testing: Got hands-on with Cypress, ensuring each part of the app worked correctly.
- User-Centric Approach: Designed with audience in mind, using personas, my sons and user stories to guide the app's features.
- Interactive Features: Allowed users to engage with trivia data, allowing to be able to choose desired category for a tailored experience.
- Deployment: Used Vercel to bring the app online, making sure it looks good on devices of all sizes.
- PropTypes: Added an extra layer of reliability by ensuring consistent data flow between components.
Hurdles Overcome
- Grappling with Cypress: Dived deep to achieve comprehensive end-to-end testing.
- Error Handling Challenges: Faced complexities in error propagation, which added intricacies to the Cypress testing process.
- Ensuring Smooth User Experience: Despite challenges, implemented error handling to ensure users enjoy uninterrupted sessions.