Test Paper Generator
July 7, 2024

STACKS: Next JSIndexedDBBulma CSS
What is this?
This is a web application I developed as part of my thesis project for my bachelor’s degree in 2023. The application is a simple test paper generator that utilizes the Next.js framework and IndexedDB for data storage, allowing users to generate multiple sets of test papers from a custom test bank.
Teachers can create a test bank by inputting various test items and organizing them by fields such as chapter number, question type, and specifications. Once enough items are added, the user can specify the number of items and chapters they want, and the application will fetch, shuffle, and map the test items into a downloadable PDF file.
What I learned from building this application
Building this project not only enhanced my programming skills but also introduced me to crucial software engineering principles. I followed the agile methodology throughout the development process and created documentation that helped me later in my career as a web developer.
Technically, I gained deeper experience with the React ecosystem through Next.js and learned how to implement IndexedDB for local storage, which allowed the application to function offline as a Progressive Web App (PWA). I also tackled challenges such as managing offline data synchronization and generating PDFs dynamically. This hands-on experience with project development has proven invaluable in my professional work.