Over the past few weeks I’ve been working hard on several courseworks and revising for several exams. One of the modules I’ve enjoyed the most has been Networking and Web Technologies.
The coursework was split into two stages. The first of which was simply entitled Networking — in this section we produces a command line client which could interact with both our lecturers server as well as one we later made ourselves. The client could send information to the server about the whereabouts of a staff member using their username and a string of text explaining their location. Simple stuff, but very satisfying to implement from something as simple as a socket connection. The server we made, which ran on multiple threads to allow over 10,000 people to connect at once, then collected this data, stored it in an XML file and could send the data to any client that asked for it. All good stuff, as Rob Miles would say.
I received a grade of 80% for my implementation of the console based applications, which I was happy with.
Today I demonstrated part two of the coursework, entitled Web Technologies to my lecturer. In this second part we had to make an application, either in PHP or ASP.NET which handled all of the same things the command line server did in part one, but better. I chose to do it in PHP as I have years of experience with the language.
The final result was a website with the following features
- A Microsoft SQL Backend Database
- The ability to add, delete and edit entries from a form
- Validation of all inputs on server side
- Parameterized queries to stop SQL Injection attacks
- A responsive design so the site looks different, and better suited, on tablets and mobile phones
- An API which any client which can send HTTP formatted POST or GET requests can use to add edit or query a user’s location
In the end I was awarded a grade of 100% for part 2! I couldn’t be more over the moon.
I have an exam on Tuesday for networking, which will be the final of the 3 parts. Once I know my grade for that and the exam overall I will of course update the blog 🙂