Booking seats for a LAN party

Me and some friends are planing on hosting a LAN party and we want people to be able to book their seats in advance. I was searching for some open source application for this task but I didn't find anything that suited me. So I began to create my own.

I'm calling it LAN-Seats, and I have uploaded it to my public Git repositories at https://github.com/rogst/lan-seats.

Here is a picture of how it looks like:

LAN Seats

The floorplan is stored in the database, and to create it I have a import script that uses a 2D array to create the floorplan, the array looks like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
$floor = array(
    array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,7),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,4,4,4,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,4,5,5,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,4,5,5,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,4,5,5,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,1),
    array(1,0,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,1),
    array(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1),
    array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
);

The idea is that when users are buying tickets they should provide their name and email. Since the application does not provide any payment system, the tickets needs to be manually created and then e-mailed out to the buyers. Then the buyer uses the ticket booking code and booking password to login to the site. The user then selected which seat he wants and then press the book seat button. If the user wants to change his booking he can login again and unbook his seat and then book another seat.

Right now the application displays the webpage in swedish, but I might add support for different languages later.

DrainDroid

At work we use load balancers from KEMP. They have an API which you can use to manage the load balancer, and I wanted a way of enabling and disabling real servers from my phone. Which would make it much easier to "drain" servers when you are on the go.

So I created a small webapp that I called DrainDroid using Phonegap and JQuery Mobile. I did not want to publish the load balancer API directly on the web so I also created a small PHP site that the client connects to over the internet and this PHP application has the access to the load balancer.

Here are two screenshots of the application:

DrainDroid Screenshots

I have uploaded the source code for DrainDroid on GitHub under the GPLv3 license.