top of page
Accessible Model UN Platform

Javascript, Java Swing + AWT libraries, mySQL, Netbeans IDE, lo-hi prototyping on moqups, user research, UML & ERD diagrams, use case scenarios, query design, iterative testing & feedback

Github repository

Design Problem
Model United Nations is a form of debate that 'models' or simulates various committees in the United Nations. As I came to realize doing MUN throughout high school, it is not the most accessible practice -- given the costs of traveling to attend conferences and the lack of tools that allow Chairs to multitask (Chairs moderate the debate).
The product should allow Chairs to multitask, given that they need to time debate, check the Google Form responses for amendments, take attendance, implement procedure verbally and scroll through a resolution on a Google Document simultaneously. 
 
Design Brief
I used Java, Swing (Netbeans IDE) and the relational database mySQL to mirror the MVC (Model View Controller) relationship. Ultimately, I produced a free, downloadable, and accessible Model UN platform to those who would like to practice debate but find it geographically or financially difficult to attend conferences.
Combining Java, Netbeans IDE, and mySQL
I used Java, Swing (Netbeans IDE) and the relational database mySQL to mirror the MVC (Model View Controller) relationship. Java allows me to design and program the solution using object oriented programming (inheritance, aggregation), and allows my project to be exported as an executable JAR file, my product can be used in a variety of operating systems.
 
By using Netbeans IDE, I will be able to easily create swing interfaces which incorporate GUI elements (eg. buttons and text fields) to help accurately present all functions as needed. Netbeans also generates Java code automatically, which allows me to easily assign GUI elements with methods (eg. adding or editing). 
Given that mySQL is a fast and widely used database, proven to be reliable with Java, I plan to use mySQL as it is able to support a high volume of users running queries at the same time. 

500 TERRY FRANCOIS STREET SAN FRANCISCO

MON-FRI 7AM-10PM | SATURDAY: 8AM-10PM

Data Structure | Entity Relationship Diagram 
Entity relationship diagram of 5 database tables on mySQL Workbench
Entity Relationship Diagram.png
Process Flowchart
Process flowchart shows program flow from login page to Main Debate Interface and complete delegate interface flow.

500 TERRY FRANCOIS STREET SAN FRANCISCO

MON-FRI 7AM-10PM |SATURDAY: 8AM-10PM

CritB.png
Process flowchart completes flow from 'A' circled to end
Delegate Interface Flowchart.png
Summary of coding techniques
  • Use of Structured Query Language (SQL) in using MySQL Workbench in order to perform the different actions:

    • Select in database

    • Delete from database

    • Insert into database

    • Updating records from database

    • Sorting database via column headings

  • Establish a connection between the database and Java classes on Netbeans

  • Implementation of GUI through the use of swing and AWT

  • Error Handling  

    • Try and catch method 

    • Error messages

  • Event Handling

    • Confirmation message​

  • String arrays

  • Accessors and Mutators

See here for complete code documentation.

Takeaways
Ultimately, developing, testing, and launching this product would not have been possible without the selfless advice and direction of my computer science teacher. While it was an ambitious and daunting challenge to begin with, going through this process to completion has informed me deeply about the importance of iteration and feedback in user testing and development.
 
While initially in college I did not think I would study computer science again, I realized that taking this course at the Higher Level and devoting the hours I did provided a solid foundation to continue learning in earnest, demonstrating a sliver of the potential that CS and Design could do for social innovation.
bottom of page