49 lines
1.9 KiB
Markdown
49 lines
1.9 KiB
Markdown
# 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.
|