This document outlines the phases to enhance a Java CLI-based job tracker project and prepare it for inclusion in a professional portfolio.
- Write job application data to an XML file using file I/O.
- Load previously saved job data at startup.
- Prevent empty fields
- Prevent invalid values from being accepted.
- Sanitize user input where needed.
- Include proper escaping for special characters (regarding XML exports).
- Handle malformed or missing XML gracefully (regarding XML imports).
- Gracefully handle I/O exceptions (e.g., missing files).
- Catch invalid menu choices and unexpected inputs.
- Replace
System.out.println()withLogger. - Log major actions: add, delete, export, import.
- Organize files into logical packages:
-
modelfor data classes -
servicefor logic -
uifor user interaction
-
- Replace string status fields with
enumtypes for safety and clarity.
- Add submenus, clearer instructions, and input prompts.
- Allow repeated actions without restarting the app.
- Use JUnit to test
ApplicationManagermethods. - Optionally test XML export/import logic.
- Include:
- Project description
- How to run it
- Features list
- Sample XML
- Future ideas
- Provide a visual overview of how the app runs.
- Add support for flags like
--export=apps.xml.
- Filters by status
- Sorting
- Interview reminders
- Use Swing or JavaFX to create a form-based interface.
- Display application data in a table or list.
- Allow saving to
.csvformat for spreadsheet use.
End Goal: A polished, professional-level project that shows OOP, file handling, CLI UX, error handling, logging, and optionally GUI skills — ideal for a new grad portfolio.