A modern, mobile-first quiz application built with React Native and Expo. Imo Quiz App lets users enter a username, take quizzes with questions fetched from the Open Trivia Database API, and track their high scores using Firebase. The app features a clean UI, adaptive quiz difficulty, and smooth navigation.
Imo Quiz App is designed to provide an engaging quiz experience on mobile devices. Users can test their knowledge, compete for high scores, and enjoy a seamless interface powered by React Native and Expo.
- User Authentication: Enter a username to start playing.
- Dynamic Quizzes: Fetches questions from the Open Trivia Database API.
- Adaptive Difficulty: Quiz difficulty adjusts based on user performance.
- Score Tracking: View your score and high score (stored in Firebase).
- Modern UI: Built with React Native components for a native feel.
- TypeScript Support: Ensures type safety and better developer experience.
- Navigation: Smooth transitions using React Navigation.
-
Clone the repository:
git clone https://github.com/Pappyjay157/imo-quiz-app.git cd imo-quiz-app -
Install dependencies:
npm install # or yarn install -
Set up Firebase:
- Create a Firebase project at Firebase Console.
- Add your Firebase config to
src/api/firebase.ts.
-
Configure environment variables (if needed).
-
Start the Expo development server:
npm start # or yarn start -
Run on your device:
- Use the Expo Go app (iOS/Android) to scan the QR code.
- Or run on an emulator/simulator.
imo-quiz-app/
├── .gitignore
├── app.json
├── App.tsx
├── index.ts
├── package.json
├── tsconfig.json
├── assets/
│ ├── adaptive-icon.png
│ ├── assistant.png
│ ├── favicon.png
│ ├── icon.png
│ └── splash-icon.png
└── src/
├── api/
│ ├── fetchQuestions.ts
│ └── firebase.ts
├── components/
├── constants/
│ └── tips.ts
├── screens/
│ ├── HomeScreen.tsx
│ ├── QuizScreen.tsx
│ └── ResultScreen.tsx
├── types/
│ └── navigation.ts
└── utils/
-
Open Trivia Database API:
Used for fetching quiz questions.
API Docs -
Firebase:
Used for storing and retrieving high scores.
Contributions are welcome!
- Fork the repository
- Create a new branch
- Make your changes
- Submit a pull request
For questions or suggestions, contact ayooluwasamuel619@gmail.com.
This project is licensed under the MIT License. See LICENSE for details.