It’s awesome if you have learned all about a certain piece of technology: a new framework, a new component, a new version of Delphi… However, what good are all these technical details if you are not able to put them to use in your projects?
Welcome to a video course series that teaches using a real use case! Real-world Building Blocks will focus on topics that you might need sooner or later for one of your software development projects.
Nicely paced video tutorials that deal with one certain task or example that will serve as the base for functionality that can be added to your application. Holger’s Helpers will lift you over the edge to get to apply new technology. Theory is wonderful, but practice makes us all better software developers.
Contact Form Example
Your customers need an easy means to get in touch with you. E-Mail is still the best tool to get the job done, however, tracking an email in a team might be difficult. Thus, a lot of companies use contact forms or support request forms to give their customers the opportunity to reach them.
The first tutorial will explain the multi-tier architecture needed to build a customer contact form or feedback form. You will be able to customize it to your specific needs afterwards.
All parts of the multi-tier projects will be covered in detail and source code will be explained step-by-step:
A relational SQL database will be used. MySQL in this case. I will even provide a Docker Compose file so you can start right away without having to install a database server.
Customers have to be able to leave feedback. What better way to offer a Web application that can be used on any device that supports a Web browser? TMS WEB Core will be used to make this happen. We will develop multiple applications starting with a very simple Web Application that will then become a modern, responsive Web Application using Bootstrap.
Management Windows Application
Requests need to be dealt with somewhere. For this purpose, we will build a VCL Windows Desktop application. You can filter to look at certain requests and can generate a reply E-Mail and archive requests that you have dealt with.
Web Service API
All these components communicate with each other through a Web Service API. This also opens up your whole architecture for further applications. For example, creating reports or adding a workflow with additional states for each contact request that you receive.
In a nutshell
I hope you see that this somewhat simple example already poses a lot of challenges. The basic definition of the use case offers a maximum of flexibility for you to extend and customize this.
- The course consists of 4 main sections plus introduction and other additional sections.
- The run-time of the course is almost five (5) hours.
The main sections are structured as follows:
Scenario and use case
Detailed description of the scenario and getting to know the different parts of the software project.
Building the back end (Web Service API)
Building the data model and the Web Service API will be shown in detail. A template that is built during the XData course will be used as a foundation to save time and effort to get the ball rolling.
Building the front end: Web Applications
Several Web applications implementing the same feature will be presented. First, a simple application using visual controls without making use of any Web technologies will be built. The application will be built quickly but will lack a responsive design and will also not be showing informative error messages. The next iterations of the application will remedy these defects. All in-between projects are available with full source code.
Interlude: Building a design-time component
The class to connect your VCL desktop applications called `TXDataClient` is only available in code. We will build a component that you can drop on the from instead in this section. This will give you a great look into Delphi how to build wrapper components for existing classes.
Building the front end: Windows Desktop Application (VCL)
In this section, you will develop a VCL desktop application that connects to the same Web services as the Web application. However, the desktop application will take the administrative role. Thus, the Web services will be extended using more complex SQL queries and storing user specific data in the database. This app closes the circle to have the whole scenario covered.
- This course is designed for the Delphi programming language. It is recommended to use one of the recent Delphi versions. All source code is only tested using Delphi 11.
- The multi-tier architecture is built using software from TMS Software. TMS WEB Core and TMS XData will not be introduced. You should have basic knowledge and be able to implement Web Applications with Web services when starting with this course. Landgraf.dev offers video courses for these products.
- If you add this product to the cart, an offer to purchase my XData course at a high discount will become available.
- Controls that are part of TMS VCL UI are used but can be replaced with other controls. The key concepts of this course are not depending on UI controls.
Source code will be provided as download and as a private GitHub repository. Please contact me using email after purchase to get access to the private GitHub repository. The source code is free to use and modify if you have purchased the course. It is part of a lecture and can be accessed if you access the lesson "Contacting Holger & Downloading Source Code". If you watch the video in full screen it will not be visible. Please minimize the video and a button to download will appear.
Frequently Asked Questions
Dr. Holger Flick studied computer science at the University of Dortmund (today: Technische Universität Dortmund) and received his doctorate from the Faculty of Mechanical Engineering at the Ruhr-University in Bochum (Ruhr-Universität Bochum).
He has been programming with Delphi since 1996 and has always been active in the community. During and after his studies, he worked as a freelancer on numerous projects for Borland and was able to exchange ideas directly with many Delphi experts from Scotts Valley, CA. Mainly, he tested Delphi for the QA department, but also programmed database applications and web applications for the Borland Developer Network.
Holger has also presented at conferences and seminars on various Delphi topics. His commitment and extensive knowledge of Delphi programming, gained through years of theoretical and practical work in the area of object-oriented programming with Delphi and other programming languages (e.g. C#, Objective-C), led to his appointment as Embarcadero Delphi MVP in 2016.
From 2013 to 2018, Dr. Holger Flick was responsible for the entire software and hardware architecture of a medium-sized company in his hometown Witten, Germany. Among other things, he developed individual software solutions with Delphi. Since 2017, he presents products and solutions of TMS Software as Chief Evangelist in form of numerous technical articles, bilingual video tutorials, and leads through seminars.
In 2019, he founded FlixEngineering LLC in the United States of America. Early 2022, he has been invited to the GitKraken Ambassador program.