I have to make it look as professional as possible, from the design to the actual code itself, so I've started reading up on requirements engineering since a lot of the difficult aspects of this project are in the design phase. What I've read of requirements engineering so far makes a lot of sense. It seems to provide a nice framework which helps you ask the right questions, get the right answers and not overlook anything too vital. I'm going to try to find some more resources on it and then I'm going to sit down and work out the requirements for this project as well as I can.
Then once I'm happy with the requirements I've got UML to help organize the design process. If I'm missing anything in between these steps please let me know.