O'Reilly logo

.NET Domain-Driven Design with C#: Problem – Design – Solution by Tim McCarthy

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 1. Introducing the Project: The SmartCA Application

The project for this book is based on a real application for a real company. The names of the company and the application have been changed for privacy reasons. The fictional company name will be Smart Design, and the name of their new application will be called SmartCA. Smart Design is a growing architectural, engineering, and interior design firm. One of its many service offerings is construction administration, which in its case consists mostly of document management, cost control, and project portfolio management.

The Problem

To manage its construction administration (CA) data and processes, Smart Design has been getting by for 10 years on a home-grown Microsoft Access database application, called the Construction Administration Database, which lives on its corporate network. The company has grown accustomed to this application, both the good parts and the bad. When the application was originally written, there were only a few users, the requirements were very simple, they already had licenses for Microsoft Office, and they had a very small budget. All of this made using Microsoft Access a good technology choice. Figure 1.1 shows the main screen of the application.

Legacy Construction Administration application main screen.

Figure 1.1. Legacy Construction Administration application main screen.

As the years went by, the application became more and more important. It was modified many ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required