The Construction Manager (ConMan) application is a desktop-based tool developed in Embarcadero Delphi, designed to streamline construction-related workflows. It uses DevExpress VCL components for the user interface and PgDAC for PostgreSQL database connectivity. The application is organized around key forms, each handling distinct aspects of project and resource management. Below is a high-level overview of the base concepts for each form, focusing on their general purpose and functionality.
1. Application Overview #
ConMan is a modular system for managing construction projects, resources, and transactions. It allows users to:
- Log in securely to access the system.
- Navigate through a user-friendly interface to manage projects, materials, tasks, and financial transactions.
- View, filter, and manipulate data (e.g., projects, tasks, transactions) with status-based filtering.
- Perform operations like adding items, copying records, and scheduling tasks.
The app integrates with a PostgreSQL database, using queries and stored procedures for data operations, and employs a tabbed, grid-based UI for data interaction.
2. Main Form (FormMain) #
Purpose #
The Main Form is the central hub of the application, handling user access and navigation to various modules.
Core Concepts #
- User Authentication: Provides a login interface to verify user credentials against the database, ensuring secure access.
- Module Navigation: Offers a menu (e.g., tile-based or toolbar) to access modules like Projects, Materials, Tasks, and Transactions (e.g., Invoices, Orders).
- Data Summaries: Displays high-level metrics, such as counts of active or pending projects and transactions, for quick insights.
- Customization: Saves user preferences, like grid layouts, for a tailored experience.
- Database Connectivity: Establishes the connection to the database, used by all forms for data operations.
3. Lookup Form (FormLookup) #
Purpose #
The Lookup Form is a dialog for selecting and adding items (e.g., materials, tasks, components) to projects or other records.
Core Concepts #
- Tabbed Navigation: Organizes data into tabs for different item types, making it easy to browse categories.
- Data Browsing: Displays database records in grids, with support for filtering and searching to find relevant items.
- Item Selection: Allows users to select items via intuitive actions (e.g., double-click or key press) to add them to a project or record.
- Database Integration: Uses queries to fetch active records and stored procedures to add selected items, updating related forms dynamically.
4. Projects Form (FormProjects) #
Purpose #
The Projects Form manages the creation, editing, and organization of construction projects, including their associated details.
Core Concepts #
- Project Views: Provides a list view for browsing projects and an edit view for managing project details.
- Detail Management: Handles related data (e.g., materials, tasks, components) within projects, displayed in tabbed sections.
- Data Operations: Supports creating, editing, copying, and scheduling projects, with filtering options for focused views.
- Task Scheduling: Integrates with database procedures to schedule project tasks based on parameters like project ID or time constraints.
- Dynamic Updates: Refreshes related data (e.g., materials or tasks) when switching between views or making changes.
5. Transactions Form (FormTransaction) #
Purpose #
The Transactions Form handles financial and operational transactions, such as orders, invoices, or inventory movements.
Core Concepts #
- Transaction Views: Offers a list view for browsing transactions and an edit view for managing transaction details and items.
- Filtering: Allows filtering transactions by status (e.g., pending, active) to focus on relevant records.
- Record Management: Supports creating, editing, and copying transactions to other types (e.g., converting a quotation to an order).
- Data Updates: Automatically tracks changes (e.g., modification dates, user IDs) to ensure data integrity.
- Item Management: Manages transaction items (e.g., quantities, prices) with automatic updates to related fields.
6. Common Features Across Forms #
- User Interface: Utilizes tabbed layouts, data grids, and buttons for intuitive navigation and interaction.
- Database Operations: Employs parameterized queries and stored procedures for secure and efficient data handling.
- Event-Driven Actions: Supports user-friendly interactions like double-click or key press for quick operations.
- Error Handling: Includes basic mechanisms to handle database errors, though improvements could enhance robustness.
7. Conclusion #
ConMan is a modular, database-driven application for construction management, with forms designed for specific tasks: Main Form for access and navigation, Lookup Form for item selection, Projects Form for project management, and Transactions Form for financial operations. Each form emphasizes user-friendly data interaction, database integration, and workflow efficiency, making the app a cohesive tool for construction professionals.