Welcome to the Angular Quiz App! 🚀
This dynamic and interactive application is built entirely with Angular and designed to provide an engaging quiz experience. It features timed questions, multiple and single-answer formats, and detailed explanations to help users learn while they test their knowledge. Check it out live here.
- Diverse Question Types: Includes support for single-answer and multiple-answer questions.
- Countdown Timer: Each question is timed to simulate real-world quiz scenarios.
- Real-Time Scoring: Tracks your score dynamically as you progress.
- Detailed Explanations: Learn as you go with explanations for correct and incorrect answers.
- Smooth Navigation: Seamlessly move between questions using buttons or the URL.
- Responsive Design: Optimized for a great experience on both desktop and mobile devices.
- Angular: For building the frontend framework.
- TypeScript: The main programming language.
- RxJS: To handle reactive programming with Observables.
- SCSS: For modular and maintainable styling.
- Angular Material: To leverage prebuilt UI components.
- Node.js (v12.x or above)
- Angular CLI (v10.x or above)
- Clone the repository:
git clone https://github.com/yourusername/quiz-app.git cd quiz-app
- Install dependencies:
npm install
- Run the application:
ng serve
- Open your browser and navigate to http://localhost:4200.
- Select a quiz category or set to start.
- Answer each question by selecting one or more options.
- Use the Next button or URL navigation to move between questions.
- Track your score and view explanations after each answer.
- Restart the quiz at any time to try again.
- src/app/components: Reusable components like questions, timer, and options.
- src/app/services: Handles business logic, quiz data, and navigation.
- src/app/models: Interfaces and data models for the quiz structure.
- src/app/pipes: Custom pipes for formatting data (e.g., combining explanations).
- src/styles: Global SCSS styles, including themes and variables.
- Create a new component or service in the appropriate folder.
- Write or update unit tests for your feature.
- Test locally:
ng test
- Run
ng serve
and inspect the app using browser developer tools. - Use Angular CLI commands to debug components and services.
Contributions are welcome! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add new feature"
- Push to your branch:
git push origin feature-name
- Open a pull request.
- User Authentication: Allow users to save and track quiz progress.
- Additional Categories: Expand the range of quiz topics.
- Leaderboard: Introduce a leaderboard for top performers.
If you enjoy using the app or find it useful, please give it a ⭐ on GitHub! Your feedback and support are greatly appreciated.
This project is licensed under the MIT License. See the LICENSE file for details.