Friday, November 22, 2013

JediChat

In Advanced Java, we have to get a development team together, talk about a final project, and then work on it.

The professor told us to get to know the others in the class so that we'd know who to add to our teams, but the task was due by the following week. I actually have some pretty decent social skills thanks to my year of retail experience (and being a decent salesman), but I still didn't have enough time to meet every single person in the class. I decided to add the guys who sat closest to me. The majority of that class has dropped anyway. I'm glad we stuck around.

ANYWAY. "Jedi?"

A long time ago (2007), I was concurrently enrolled through my high school at a local voc-tech (MNTC), and I took my very first programming class at this school. The language was Java, and when time came to assemble a team, I did, and I named my team the "Java Jedis." We were all Java Jedis.

Now that I have provided a historical explanation as to where the "Java Jedi" idea originated, you can extrapolate what I decided to call my most recent team. And the project I decided we should write is "JediChat", IRC-like chat software written in Java for and by Java Jedis.

I've written everything by hand, by myself, but I did have to use Google to remember how to sockify everything. Worked on a software-level protocol for sending the messages, and made a pretty GUI with Netbeans. Yes, I use Netbeans; not Eclipse and Windowbuilder. I'm a huge proponent of Netbeans (it's what I've been using for six years).

Here is a screenshot of a console based server (for debugging) and the graphical JediClient sending messages to it.


It needs some work; not going to lie. See that empty box on the right-hand side of the frame? That's a user list. Notice the tabbed pane? The main tab is the JedIRC (clever, I know) view, which allows a normal broadcast chat for all users to communicate simultaneously. Privatized messaging is on its way. The JediServer GUI is pretty basic, with just "kick" and "start listening" buttons, and a list of users, and I'm thinking maybe the console-based server is the better option (I'll include both) in the tarball.

P.S. I've been sick for the past week, but I'm still being productive.

And if you are a Java Jedi as well, may the source be with you.

No comments:

Post a Comment