ConcreteBuildControl bot
Project Title: Automation System for Logistics and Supply of Construction Sites (Telegram Bot)
Brief Description: Developed a comprehensive Telegram bot for a construction company that fully automated the procurement cycle of materials: from the foreman's request on site to delivery and reporting. The system uses Google Sheets as a database and CRM, allowing the client to manage processes in a familiar interface without the costs of expensive admin panels.
Problem Addressed by the Project:
Previously, communication was conducted in chaotic chats: requests were lost, the engineering department (PTO) could not keep up with approving invoices, and the supply department did not know what and where to deliver. There was a lack of transparency in order statuses.
Functionality and Roles:
The bot implements a role-based access control (RBAC) system for 4 types of users:
1. Foreman:
- Creation of material requests (text or photo).
- Selection of the site from a dynamic list.
- Receipt of materials on site (mandatory photo report + comment).
- Accounting for materials from the client.
- Weekly reports on material write-offs.
- Receiving notifications about the status of the request ("Rejected", "Vehicle is on the way").
2. PTO (Engineering Control):
- Validation of requests: "Approve" / "Reject" buttons.
- Ability to edit the list of materials before approval.
- Viewing photo requests and receipt reports.
- Automatic transfer of approved requests to the supply department.
3. Supply:
- Receiving notifications about new approved requests (with photos and details).
- Marking requests with the status "Ordered".
4. Logistics:
- Control of goods ready for shipment.
- Changing the status to "Shipped" (automatic notification to the foreman).
Technical Stack:
Language: Python 3.10+
Framework: aiogram 3.x (asynchronous architecture).
Database: Google Sheets API (gspread library). Used as a database for ease of editing by managers.
Deployment: VPS (Linux), PM2 for process management.
Key Technical Solutions (Highlights):
Memory Optimization: Implemented custom memory management using gc (Garbage Collector) and optimized queries to the Google API. This reduced RAM consumption on a weak VPS, avoiding loading large data arrays.
Reliable Data Search: Developed a "Smart Search" algorithm that finds the order ID in the table regardless of formatting (ignores leading zeros, spaces, text cell formats), eliminating errors during manual editing of the table by managers.
Seamless Interaction: Implemented a message chain. When the "Approve" button is pressed, the bot not only changes the record in the database but also instantly sends the generated order card (with photo) to the chat of the next department.
Result:
The bot unified the work of departments into a single flow. The processing time for requests was reduced, information loss was minimized to zero, and management received transparent reporting in Google Sheets in real-time.
Brief Description: Developed a comprehensive Telegram bot for a construction company that fully automated the procurement cycle of materials: from the foreman's request on site to delivery and reporting. The system uses Google Sheets as a database and CRM, allowing the client to manage processes in a familiar interface without the costs of expensive admin panels.
Problem Addressed by the Project:
Previously, communication was conducted in chaotic chats: requests were lost, the engineering department (PTO) could not keep up with approving invoices, and the supply department did not know what and where to deliver. There was a lack of transparency in order statuses.
Functionality and Roles:
The bot implements a role-based access control (RBAC) system for 4 types of users:
1. Foreman:
- Creation of material requests (text or photo).
- Selection of the site from a dynamic list.
- Receipt of materials on site (mandatory photo report + comment).
- Accounting for materials from the client.
- Weekly reports on material write-offs.
- Receiving notifications about the status of the request ("Rejected", "Vehicle is on the way").
2. PTO (Engineering Control):
- Validation of requests: "Approve" / "Reject" buttons.
- Ability to edit the list of materials before approval.
- Viewing photo requests and receipt reports.
- Automatic transfer of approved requests to the supply department.
3. Supply:
- Receiving notifications about new approved requests (with photos and details).
- Marking requests with the status "Ordered".
4. Logistics:
- Control of goods ready for shipment.
- Changing the status to "Shipped" (automatic notification to the foreman).
Technical Stack:
Language: Python 3.10+
Framework: aiogram 3.x (asynchronous architecture).
Database: Google Sheets API (gspread library). Used as a database for ease of editing by managers.
Deployment: VPS (Linux), PM2 for process management.
Key Technical Solutions (Highlights):
Memory Optimization: Implemented custom memory management using gc (Garbage Collector) and optimized queries to the Google API. This reduced RAM consumption on a weak VPS, avoiding loading large data arrays.
Reliable Data Search: Developed a "Smart Search" algorithm that finds the order ID in the table regardless of formatting (ignores leading zeros, spaces, text cell formats), eliminating errors during manual editing of the table by managers.
Seamless Interaction: Implemented a message chain. When the "Approve" button is pressed, the bot not only changes the record in the database but also instantly sends the generated order card (with photo) to the chat of the next department.
Result:
The bot unified the work of departments into a single flow. The processing time for requests was reduced, information loss was minimized to zero, and management received transparent reporting in Google Sheets in real-time.