Crazy Busy Period
For the past couple of days it has been quiet here at CognitiveCombine. I am nearing the end of my Web Design and Development course at SAE Wien. Part of the requirements to graduate with the SAE Diploma are to hand in a "thesis" on a web related topic as well complete a project. I have devoted the last couple of days to these two tasks.
This years project requirements were to design and develop a web CMS for a fictional car company. Most of it must be custom coded and we are not allowed to use any frameworks or existing CMS solutions such as Drupal, Joomla or WordPress.
One of the challenges was to design a flash based car configurator, that allows a fictional customer to select a car and customize it before purchasing it. The data must be pulled from a database and then all changes must again be saved to the database.
So far I have completed roughly 70% of the project. My simple web CMS is up and running and supports the following features: User registration, Login, Contact, "Create, Edit and Delete Posts", Edit About Text, "User, Admin and Moderator roles", RSS feed, Atom feed and Users Management.

Although it is rather basic, and coded in a pathetically primitive manner with many IF statements, I am quite proud of what I have achieved so far. Two years ago, when I started the course, I could not have dreamed of one day being able to develop my very own web CMS.
I have three features left before the project is complete, these are the Car Configurator, Gallery and the Orders management. I hope to have them done within the coming two weeks.
Eventually I will post a link to the CMS, but at the moment it is not very secure.
The main challenge was deciding where and how to start. I wasted considerable time because I was reluctant and felt overwhelmed. This made me realize how important planning is. You really need to get yourself a paper and pencil and sit down and make a plan: what features do i need? how do they tie in to each other? how will processes look like?
You need to write all this down and make flow diagrams, this helps you get an abstract idea of what your code could look like.

One thing I like to do is start with the simple things. First I created my MySQL database and created a users table with fictional users.
Then I started working on the login/logout feature. Once I had this up and running, I proceeded to work on a registration feature.
Slowly you will get warmed up and enter a work routine. After about 4-5 days of serious work, I had about 60% of the project complete with the above mentioned features. I often stayed up at night working away and lost track of time. I was on a role.

These are just some of the impressions I gained from working on my first serious peace of code.
So far I have used the following programming languages and databases: PHP, MySQL, Javascript, Ajax. I will also be incorporating Flash/ActionScript and the very new O3D.