diff --git a/docs/Challenges/create-a-data-viewer.md b/docs/Challenges/create-a-data-viewer.md new file mode 100644 index 00000000..fdfff9e8 --- /dev/null +++ b/docs/Challenges/create-a-data-viewer.md @@ -0,0 +1,87 @@ +--- +title: Create a Data Viewer +parent: Challenges +nav_order: 3 +permalink: /Challenges/3 +--- + +# 📊 twinBASIC Monthly Challenge #3 - March + +**Create a Data Viewer** + +Build an application that reads data from a file or the system and presents it in a useful or interesting visual way. + +Your program should take raw or structured data and turn it into something that people can explore, analyse, or understand more easily. + +This could be a viewer, explorer, dashboard, inspector, or visualisation tool. + +Examples include (but are not limited to): + +- Access MDB / ACCDB file viewer +- JSON or XML explorer +- CSV / spreadsheet viewer +- SQLite database browser +- Log file viewer +- Windows Event Log viewer +- Windows Registry explorer +- Image metadata (EXIF) viewer +- Folder size visualizer +- System metrics dashboard +- Network data viewer +- Binary / hex viewer + +Creativity is encouraged - unusual data sources or interesting visualisations are welcome. + +## 📦 Submission Rules + +- Built using twinBASIC +- Full source code must be provided, but licence choice is unrestricted +- Submission must be a single .twinproj file (external resource files allowed if necessary) +- Produces a single Windows EXE +- Runs on Windows 10 and later +- Application must read and display data from a file, dataset, or system source + +❌ Not a direct or near-direct port of an existing VB6 application + +## 📈 Bonus Points + +- Interesting or complex data visualisation +- Support for large datasets +- Search, filtering, or navigation features +- Use of tree views, charts, or custom visualisation +- Use of Windows APIs or system interfaces +- Use of newer twinBASIC features (e.g. delegates, generics) +- Clean architecture and well-documented code +- Polished UI and UX +- Creative or unusual data sources + +## 🎁 Prize + +£100 twinBASIC account credit + +- Non-transferable +- No cash alternative +- Can only be used towards future twinBASIC licences + +## 🏆 Judging + +Entries will be judged across multiple categories, including: + +- Originality and creativity +- Technical execution +- Performance +- Visual presentation +- Code quality and structure +- Overall polish and usefulness + +Bonus points may be awarded at the discretion of the twinBASIC team. + +Winner selected at the sole discretion of the twinBASIC team within 7 days after the entry deadline. + +## ⏰ Deadline + +Entries must be received by: + +🗓️ 9th April — 12:00 PM (GMT) + +Submissions will be locked after the deadline.