The Making of a Web Application

APV Course outline

This web book is an introduction to the development of web applications. It consists of two walkthroughs — Classic Walkthrough and Slim Walkthrough which will guide you through making the web application step by step and Articles explaining the details of all the used technologies.

Why two Walkthroughs?

Because there are many completely different approaches to build a web application.

  • The Classic Walkthrough goes to the roots and is great for general understanding. It uses raw mostly procedural PHP and no PHP framework. HTML is rendered using Latte Templates.
  • The Slim Walkthrough uses the Slim PHP framework. It represents a quicker way to the goal, but there is some magic involved. HTML is also rendered using Latte Templates.

Both Walkthroughs share some parts (e.g. HTML, HTML forms, SQL), the difference is mainly in the way the PHP code on backend is organized. Note that for APV Course outline, the Slim Walkthrough is the current one.


My goals are:

  • to show you how web applications can be made (using SQL, PHP, JavaScript);
  • to teach you enough programming so that you can put together a web application;
  • to teach you something about software engineering;
  • to show you how stuff works and why it works that way;
  • to explain the principles which last for a long time.
  • to show you how things should be done properly (aka professionally);
  • to have an opensource book.

My goals are not:

  • to teach you Computer Science;
  • to make an excellent (PHP, JavaScript, SQL, …) programmer out of you. That needs much more practice, but this may be a good start;
  • to show you all the technical details;
  • to make an (UX, Software Architect, Testing, …) expert out of you (that needs much more than reading a single book, but this may be a good start).

Who? Why?

Who is this for? This book was originally written for students of Application Software Programmes course at Mendel University. However it is suitable for anyone with interest in web application development.

Why web applications? Because they are popular and they allow Rapid Application Development (RAD). Starting with web applications is probably the easiest entry into the world of software development. However, I wouldn’t dare to say that developing good web applications is easy. But they are easy to start with, as you can see the results quickly and many things are solved already. Web applications also require the use of many different technologies, therefore they force you to be more open minded.

Why I have written this book? Because most of the articles and tutorials on the web are focused on a single technology. Most tutorials contain only the tutorial without explaining what’s happening. And most of the articles (which explain what’s happening) lack the tutorial to show how to work with it. As such it is really difficult for beginners to get the big picture of things and understand the principles. As I concentrate on the big picture, I will leave out many of the technical details (which change very often) – I expect you to google them for yourself. Many of the technical details are presented along the way, but they are not really important. Also this book concentrates on showing you how things should be done properly, so that you produce professional and reliable applications.

Who am I? Main authors of this book are Ondrej Popelka and Jiri Lysek. We were teachers of APV course at Mendel University in Brno in the past years. This course is currently maintained by Jan Kolomaznik.


If you find errors or weak spots in the book, please open an issue on Github repository. If you feel confident that you can correct the issue as well, please send a pull request. If you feel for a larger contribution, or you want to discuss something about the book, contact us using an email.