Project Demo 1: Quiz Generator
Project Brief: Quiz Generator App
Project Overview:
The Quiz Generator App is designed to help students create a Java-based application that can generate web-based quizzes from a file containing Multiple Choice Questions (MCQs). The app will produce two types of web-based quizzes: one in Markdown format and the other in Markup format. This project will primarily focus on Java concepts, with a brief introduction to other technologies which will be expanded upon later.
Project Goals:
- File Handling in Java: Learn how to read and process input files containing MCQs.
- Quiz Generation: Understand how to generate quizzes in both Markdown and Markup formats using Java.
- Basic Web Development Concepts: Introduce basic HTML and CSS for displaying quizzes.
- Java Servlets: Use Java Servlets for backend processing and serving web pages.
Project Phases:
Phase 1: Initial Setup and Basic Java Functionality
- Setup Development Environment: Install and configure Java and an IDE (e.g., Eclipse or IntelliJ IDEA).
- File Input Handling: Write Java code to read and parse the input file containing MCQs.
- Quiz Generation in Markdown: Develop Java functionality to generate a quiz in Markdown format from the parsed data.
- Quiz Generation in Markup: Develop Java functionality to generate a quiz in Markup format from the parsed data.
Phase 2: Basic Web Development
- Introduction to HTML and CSS: Learn basic HTML and CSS to create simple web pages for displaying quizzes.
- Servlet Integration: Implement Java Servlets to handle file uploads and serve the generated quizzes.
Future Phases: Enhanced Functionality with Advanced Technologies
- Springboot Integration: (Future goal) Migrate backend functionality to Springboot for better scalability and maintenance.
- Angular Frontend: (Future goal) Develop a more dynamic and responsive UI using Angular.
Learning Outcomes:
By the end of this project, students will be able to:
- File Handling: Read and process files using Java.
- Quiz Generation: Generate quizzes in Markdown and Markup formats using Java.
- Basic Web Development: Create simple web interfaces using HTML and CSS.
- Backend Processing: Use Java Servlets for backend processing and serving web pages.
- Framework Integration: (Future goal) Integrate and use Springboot and Angular for full-stack development.
Project Deliverables:
- Source Code: Well-documented Java codebase for all functionalities.
- Web-Based Quizzes: Two functional web-based quizzes, one in Markdown format and the other in Markup format.
- Project Report: A brief report detailing the development process, challenges faced, and how they were overcome.
Tools and Technologies:
- Programming Language: Java
- Development Environment: IDE (Eclipse/IntelliJ IDEA)
- Web Technologies: (Introduction only) HTML, CSS
- Backend: Java Servlets (initially), Springboot (future)
- Frontend Framework: Angular (future)
- Version Control: Git/GitHub for code management
Next Steps:
- Kickoff Meeting: Introduction to the project and Java basics.
- Environment Setup: Ensure all students have their Java development environments set up.
- Start Coding: Begin with file handling in Java and move step-by-step towards completing the project phases.
This project will help students solidify their understanding of Java while introducing them to basic web development concepts. Advanced technologies will be incorporated later, allowing students to progressively build on their knowledge. Let’s get started on this exciting journey of building the Quiz Generator App together!