C-Estate is an automation platform for real estate agencies: from a CRM for realtors to automatic listing uploads.

The functionality of this system is not limited to ordinary client records and data about properties (apartments, houses, offices, etc.). The system works closely with objects on maps, with the cadastral database, with complex sets of characteristics, with real estate sales and exchanges, with complex filters and flexible search. Users of the administrative system can manage clients, create beautiful and understandable content for apartments and houses by using characteristic templates, uploading images, and forming photo and video galleries for clients. Clients, in turn, can find the real estate they are interested in using flexible and diverse filters, starting from basic ones - price, location, building type... - to the most advanced ones - bed type, bathroom type, proximity to attractions, window orientation...

First of all, as always, we held a free detailed consultation regarding project implementation options and timelines. We decided to act iteratively, without a complex technical specification. It is important to note that we do not consider this option recommended for every project. However, this project, due to the specifics of its release goals, could be produced without preliminary design. An interesting challenge was that the client very much wanted to understand the approximate quarterly budget, for which we approved and included in the contract a clause on a fixed price per month of work for the team under our responsibility, which, according to the contract, we form from our employees.

During the project discussion, we came to an understanding of a convenient budget and cooperation method, and signed the contract. The contract was not template-based; it implied not only the technical execution of the project, but also partner equity participation. The contract contained basic requirements - a brief list of the main categories of work and required system functions, as well as quality requirements (loading speed, real estate object limits, interface switching speed). Let us remind you that in most complex projects we recommend starting with business analytics and drafting a detailed technical specification. In this project, it made sense to make an exception.
The contract implied the possibility of making reviews of the development process, which allows us to give a partial overview of this project in order to help those who are planning to develop their own project in the real estate sector or in another commercial direction.
First week - design, deployment
Briefly, what was done during the first stage of work:
- Preparatory technical work.
- Selection of key technical solutions for the project.
- Designing the object dependency schema.
- Deploying the system based on Docker.
- Configuring the system services required by the project.
- Integrating and configuring the code repository.
- Server settings for continuous delivery.
- Designing the system database.
During the development of the entire system, the architect developed and adjusted the platform component relationship diagram. Objects that changed frequently during the work are marked in red. But for the most part, the diagram was initially composed with a suitable decoupling. This model made it possible to easily and quickly negotiate the key functionality of the online platform, as well as identify bottlenecks, predicting likely difficulties in operating the product in the future.

The first stage of development was to create a simple real estate transaction system; design was not a priority, so we chose a standard proven solution - Bootstrap. In the future, when the design is ready, the appearance can be quickly changed.

As a result of the stage, we were able to exceed the plans and, in addition to the transaction system itself and the real estate object database, we managed to complete many tasks ahead of time and also carry out work on deploying the infrastructure required by any minimally complex project. You can see the result of the first development stage on the page and in the video.
Second week
We wanted to show the client a simple but working version of the program as quickly as possible.
After the work was successfully completed, we recorded a video review of the completed work for the client. This is an exclusive video, because in 95% of projects such videos are made personally, with closed access, and are not shown to anyone under threat of a large fine!
Third week
Only two weeks have passed, and the client already has a working version of the system. Of course, for now it is not beautiful, not convenient, it has many awkward points, little design, no individuality... But it works, and that is the most important thing at this stage. Before we start casting the external interface model "in granite", we need to make the prototype work precisely, like clockwork.
The first difficulties began to appear, as often happens, toward the end of the project. A project is difficult to start and difficult to finish. Everything else is easy. The functionality of the characteristics and options constructor was a particular difficulty and challenge. Not so much technically as from the point of view of design and analysis. Roughly speaking, the idea was that when adding a new real estate object (for example, an apartment), a system user could select entire ready-made sets that accurately describe the object and help the client find it on the website in the expected and logical place. The functionality made it possible to make changes to the logic of the system without programmer intervention, through the user interface. From that moment, our web application fully corresponded to the class of "Platform"; every realtor or property owner could make changes to the algorithm.
During development (at the time of only the 3rd week), 205 programming tasks were completed. At the beginning of 2021, we delivered the project in excellent technical condition in full compliance with the technical specification and ahead of schedule. Moreover, we managed to complete a number of documentation tasks that were not described in the technical specification, but are implied in any project.
The next stage was the design and presentation of the appearance to investors
This video presents the result of the first stage of development of the trial prototype system
Platform design
Later, an interface style based on Bootstrap components was thought through for the project. The project's design system implied flexible construction of new working screens through manipulation of typed Bootstrap-like elements of a unified style. The design was made according to standards and the style source files were provided in Figma.

Also see the formatted interface presentation - One and Two
After completing functionality prototyping and modeling the design shell, the project moved into a stage where we cannot openly describe all the development details.