This project was originally developed in 2022 as my Internal Assessment for the Computer Science Higher Level subject of the International Baccalaureate. Everything you'll find here is my own original work — feel free to explore, help, use and get inspired by any part of it.
Keep The Ball Flying is a desktop application built with Processing 4, designed to assist volleyball team coaches in managing their teams more effectively. Initially connected to a MySQL database, the application provided tools for planning, visualizing tactics, and managing player data.
- Multiple Screens: Includes a virtual whiteboard for designing tactics, a player info table, and a logbook for saved plays.
- Database Support:
- 🕰️ Version 6 and below used a MySQL database (via MySQL Workbench).
- 🔄 From now on, the database is being migrated to a local
.db(SQLite) file for easier access and portability.
- Object-Oriented Design: Fully embraces OOP principles — encapsulation, inheritance, and polymorphism — for clean, modular, and maintainable code.
- Six Versions: There are six historical versions of the app. Version 6 is the one submitted to the International Baccalaureate. Use the most recent version if you want a stable legacy reference, or follow the new development branch for future updates.
As of 2025, Keep The Ball Flying is no longer just an academic project — it is now being transformed into an open-source project.
- 📖 This repository is now public.
- 🧠 I'm using this project as a sandbox for personal and professional growth.
- 🧩 Expect structural changes, feature redesigns, and experiments.
- 🧪 Contributions, suggestions, or constructive criticism are always welcome!
The documentation includes 12 PDF files explaining both the development process and the functioning of the application, including design decisions and usage instructions.
Note: Criterion E is not included due to file size, but you can view it here.
Yes, the code and documentation may contain Spanish, Catalan, and English — my bad! This was one of my first serious projects, and I didn’t yet have a clear standard. Expect some multilingual moments!
- You need to have Processing 5 installed and properly set up in Visual Studio Code (VSCode).
👉 Follow this tutorial to install and configure it.
Once you have everything ready, open a terminal and run:
processing-java --sketch="your-absolute-path/Internal-Assessment-CS-IB/v07" --run🔁 Replace "your-absolute-path" with the actual full path where you’ve saved the project on your machine.
🧪 Note: As development continues, the folder name may change from v07 to a new version or branch reflecting ongoing improvements with SQLite integration.
This was developed when I was still a very inexperienced (but passionate) teenager.
So if you spot some clunky code or bad practices — you're probably right.
But that’s exactly why I’m coming back to it now ❤️
I hope you enjoy exploring Keep The Ball Flying as much as I enjoyed building (and rebuilding) it.
If you have questions, want to collaborate, or just want to say hi — feel free to reach out!