# Demo 04: Signature List Generator - Code Cleanup ## Purpose This is a static web application that turns student lists exported from UNIGRAZonline / CAMPUSonline (as "CSV for Excel") into nicely formatted signature lists for checking attendance. Everything happens locally in the browser - no sensitive data is transmitted anywhere. **Features:** - Upload CSV student lists exported from UNIGRAZonline - Filter by group name (manually entered or extracted from file) - Customizable course name and date - Include/exclude Uni Graz logo - Print-ready signature lists - Privacy-first: all processing happens client-side ## Technology Stack - **Frontend:** Pure HTML5, CSS3, and vanilla JavaScript - **Styling:** Bootstrap 5.0.2 (via CDN) - **CSV Parsing:** PapaParse 5.4.1 (via CDN) - **Fonts:** Nunito Sans (Uni Graz corporate font) ## Task: Code Cleanup This codebase needs cleanup and modernization. Your goal is to iteratively improve the codebase by: 1. **Fixing bugs and issues** (syntax errors, missing semicolons, etc.) 2. **Modernizing JavaScript** (replace `var` with `const`/`let`, use modern patterns) 3. **Adding error handling** (invalid CSV, missing columns, edge cases) 4. **Improving accessibility** (ARIA labels, keyboard navigation) 5. **Code quality improvements** (consistent styling, remove duplication, better structure) ## Process Work with the agent to identify issues and iteratively improve the code. For each change: - Explain what you're fixing and why - Get the agent's approval before making changes - Test the changes to ensure nothing breaks - Document your changes in a CHANGES.md file ## Files - `index.html` - Main HTML structure - `main.css` - Styling and print styles - `main.js` - Application logic - `logo.png` - Uni Graz logo ## Deployment This is a static site - simply upload all files to a web server. No build process or backend required.