CHAPTER 3
Last updated
Last updated
Chapter 3
Technical Background
The CCARP system is a product of continuous development and adaptation to technology. This section presents an overview of how the system has evolved, starting from its foundational structure to its technical design. It includes detailed illustrations and discussions on the following components: the organizational structure, floor plan, activity diagrams, context-level and Level 0 data flow diagrams, system architecture, Entity-Relationship diagram, and project organization. These elements provide a comprehensive understanding of the current and proposed systems, laying the groundwork for the system’s technical implementation.
As shown in Figure 3.1, the organizational structure reflects the key roles and hierarchy within the business relevant to the capstone project. At the top is the Chief Executive Officer (CEO), who oversees overall operations and strategic direction. Supporting the CEO is the Operations Manager, responsible for coordinating daily activities. The structure also includes essential roles such as the Site Supervisor, Cost Controller, Master Carpenter, Procurement Officer, Journeyman Carpenter, Safety Officer, Apprentice Carpenter, and Administrative Staff. Each position plays a critical role in ensuring the smooth execution of construction projects and maintaining operational efficiency.
As shown in Figure 3.2, the floor plan represents the deployment strategy of the system at the actual user location. The structure consists of two floors. The first floor includes a living room, kitchen, bedroom, and a storage room—where tools and equipment used by the workers or carpenters are kept. The second floor features an additional bedroom, a terrace, a hallway, and a vacant space intended for future use. This floor also houses the client's personal bedroom and a dedicated office room, which serves as the client's primary workspace and where the system will be accessed and managed.
As shown in Figure 3.3, the activity diagram illustrates the current workflow of the CCARP system, highlighting a total of eight main activities involved in the construction process.
The process begins with the client creating or posting a construction plan. Once the plan is submitted, the client proceeds to present the plan to the carpenter. The third activity involves the carpenter evaluating the plan, which includes a decision point: “Do you accept the project?” If the carpenter chooses "Yes", the process moves forward to listing the requirements. If the answer is "No", the plan is either rejected or the client presents a revised plan.
In the fourth activity, the carpenter lists the project requirements, which includes specifying the materials needed, estimating the total cost (materials and labor), and outlining contract details. Following this, the client finalizes the total budget in the fifth step.
Once the budget is confirmed, the sixth activity takes place, where the client proceeds to purchase the required materials. After acquiring the materials, the seventh activity involves project execution: the carpenter performs the tasks, logs attendance, submits progress reports, and updates the task list, marking tasks as complete.
Finally, the eighth and last activity is the client paying the labor cost, which completes the entire workflow of the current system.
As shown in Figure 3.4, the Context Level Data Flow Diagram (DFD) provides a high-level view of the current CCARP system and how it interacts with external entities. This diagram focuses on the flow of data between the system and its primary users.
There are two main external agents in the diagram: the Homeowner (Client) and the Carpenter. The client initiates the process by creating a construction plan, which is then presented to the carpenter for review. Once the plan is accepted, the client is responsible for finalizing the total budget and covering both Capital Expenditures (CapEx) and Operational Expenditures (OpEx) related to the project.
This diagram shows how information flows between users and the system, helping to clarify the roles of each party and the key transactions in the current setup.
As shown in Figure 3.5, the Level 0 Data Flow Diagram (DFD) breaks down the current CCARP system into eight core processes, involving two external agents—the Client and the Carpenter—and seven data stores.
The workflow begins with Process 1: Creating the Construction Plan, where the client inputs the initial project details. This information is stored in the Plan data store.
Next is Process 2: Presenting the Plan, where the client presents the drafted construction plan to the carpenter. The carpenter then performs Process 3: Evaluating the Plan, deciding whether to accept or reject it. If the plan is accepted, the process continues.
In Process 4: Listing the Project Requirements, the carpenter outlines all necessary resources, including labor costs, materials, material costs, and contract terms. These details are stored accordingly in their respective data stores.
The process proceeds to Process 5: Finalizing the Total Budget, where the client reviews the proposed costs and confirms the budget. Once finalized, Process 6: Purchasing Materials begins, during which the carpenter procures all needed materials for the project.
Process 7: Completing the Project involves the carpenter executing the construction tasks, tracking progress, and updating reports. Finally, in Process 8: Paying Capital and Operating Expenditures, the client settles the total project cost, including both Capital Expenditures (CapEx) and Operating Expenditures (OpEx).
This diagram provides a more detailed and structured view of how data and responsibilities flow through the current system, emphasizing how each participant interacts with the system and contributes to project completion.
As shown in Figure 3.6, the CCARP System Architecture illustrates how users interact with the system and how data is managed across different components. The architecture is designed to be user-friendly and accessible, requiring only a mobile device or desktop computer to access the system.
Users connect to the database server through their devices to fetch, store, and retrieve data in real-time. This centralized database handles all user inputs and system records, ensuring smooth and secure operations.
For added reliability and data protection, the system also utilizes cloud storage services—such as Google Drive, OneDrive, and similar platforms—for data backup. This ensures that important information is safely stored offsite and can be recovered in case of data loss or server failure.
Overall, the architecture supports efficient data flow, remote access, and secure backup, making CCARP both scalable and dependable for users.
As shown in Figure 3.7, the Activity Diagram of the Proposed System demonstrates several improvements compared to the current system previously illustrated in Figure 3.3. While the current system only includes eight activities, the proposed system expands this to twelve, offering a more detailed and structured workflow that enhances user interaction and project tracking.
The first activity is "Create Construction Plan." In this step, the client prepares the initial project details. This includes inputting the lot area (length × width in square meters), floor area, initial budget, project timeline (start and end dates), and preferred house type. Additionally, the client can set a limit on the number of carpenters to be involved, upload reference photos, and provide further specifications to make the plan more comprehensive. Once the form is completed, the client submits the plan to proceed to the next activity.
The second activity is "Select Materials." Here, the client chooses the materials they want to use for the construction. After selection and submission, the plan becomes visible on the carpenter’s feed—this is the third activity, where posted plans are made available to potential carpenters.
The fourth activity is "Evaluate Plan." A carpenter reviews the posted construction plan. If the carpenter chooses not to accept the project, the system returns to the plan creation step so the client can make revisions or propose a new one. If the carpenter accepts the project, the process moves to the fifth activity.
In Activity 5: "Make a Contract," the carpenter creates a formal agreement outlining the labor cost and specifying the type of work they will undertake. The contract is then submitted to the client for review.
Activity 6 is "Evaluate Contract." The client reviews the contract and has three options: accept, reject, or request revisions. A decision point follows: "Do you accept the contract?" If the answer is no, the contract must either be revised or declined. If yes, the system moves forward.
In Activity 7: "Purchase Materials," the carpenter is responsible for buying the required materials based on the agreed contract. This leads to Activity 8: "Complete the Project," where the carpenter starts working. During this stage, the carpenter submits attendance logs, progress reports, and task updates, marking tasks as completed when appropriate.
Once the work is finished, the system proceeds to Activity 9: "Turn Over Project." The carpenter officially hands over the project to the client. Then in Activity 10: "Evaluate Turn Over," the client checks the completed project. If there are issues, the client may request revisions and can provide feedback directly in the system. If the client is satisfied, they proceed to payment.
Activity 11 is "Pay Carpenter," where the client pays the labor cost as agreed in the contract. The system provides payment method options, such as GCash or on-cash (physical payment). Finally, Activity 12: "Receive Payment," marks the end of the transaction, where the carpenter receives confirmation of the payment.
Overall, this improved activity diagram reflects a more refined and interactive process. It not only strengthens the coordination between the client and the carpenter but also introduces better tracking, communication, and accountability at each stage of the construction project.
As shown in Figure 3.8, the Context Level Data Flow Diagram of the Proposed System for CCARP expands upon the original structure by incorporating more detailed interactions between the two main external entities: the homeowner and the carpenter. While it retains the core processes of the current system, the proposed version introduces new functionalities to enhance user experience and system efficiency.
In this proposed system, the homeowner is no longer limited to simply creating and presenting a construction plan. Now, they are also able to select pre-defined materials, evaluate the contract submitted by the carpenter, assess the final turnover of the project, and initiate payment for both Capital Expenditure (CAPEX) and Operating Expenditure (OPEX). These additions give the homeowner more control over the planning and approval stages of the construction process.
On the other side, the carpenter's role has also become more involved. Beyond evaluating the client’s submitted plan, the carpenter can now draft a contract, purchase materials, and proceed to work on the construction project. After completing the job, the carpenter is responsible for turning over the finished project and, finally, receiving payment upon the client’s confirmation and approval.
This revised data flow improves communication between the two parties and allows for a more structured and traceable process from the creation of the plan to the payment phase. The enhancements in the proposed system ensure that each step is properly documented and that both the homeowner and the carpenter are actively engaged throughout the project lifecycle.
As shown in Figure 3.9, the Level 0 Data Flow Diagram (DFD) of the proposed CCARP system represents a more enhanced and comprehensive version of the current system. The proposed system now contains twelve processes, an increase from only eight in the previous version. This expansion reflects the system’s growth in functionality, user interaction, and operational flow.
The process begins with the client posting a construction plan (Process 1). In this step, the client is required to input key project information such as the lot area (length and width), floor area (total square meters to be built), initial budget, project schedule (start and end dates), and the type of house they intend to build. The client also sets a limit on the number of carpenters, uploads reference photos, and provides detailed notes to clarify the construction requirements.
Once the plan is submitted, it moves to Process 2: Selecting Materials. Here, the client selects the construction materials that will be used for the project. These selections are essential to help the carpenter understand the scope and cost of materials needed for implementation.
Following this, Process 3 involves the plan being posted to the carpenter’s feed. This allows available carpenters to browse and evaluate new project opportunities submitted by clients.
In Process 4: Evaluate Plan, a carpenter reviews the posted plan to determine if it fits their expertise and availability. A decision point is introduced here: “Do you accept the project?” If the carpenter declines, the system reverts to the plan creation step, allowing the client to either edit or repost the construction plan. If accepted, the process continues.
Next is Process 5: Make a Contract. The carpenter prepares a contract proposal that includes important details such as their labor cost and preferred scope of work. This contract outlines expectations and serves as the basis for collaboration.
Process 6: Evaluate Contract allows the client to review the proposed contract. At this stage, the client can accept, reject, or request revisions to the contract. This evaluation is also guided by a decision prompt: “Do you accept the contract?” If the contract is not accepted, it returns to the revision stage. If accepted, the workflow proceeds to material acquisition.
In Process 7: Purchase Materials, the carpenter buys the necessary supplies based on what was agreed upon. This process ensures that all needed materials are secured before the actual construction work begins.
Process 8: Complete the Project involves the construction work itself. During this phase, the carpenter logs attendance, tracks progress, adds tasks, and marks them as completed. These updates provide the client with real-time visibility on the progress of their project.
Upon completion, the system moves to Process 9: Turn Over Project. The carpenter formally turns over the finished project to the client for inspection.
Then in Process 10: Evaluate Turn Over, the client evaluates the completed work. If the outcome meets expectations, the project is accepted. If revisions are needed, the client can send it back with comments or suggestions. Additionally, the client may leave feedback, which helps improve service quality and accountability.
Process 11: Pay Carpenter follows. Based on the previously approved contract, the client proceeds with payment. The system supports multiple payment methods such as GCash or cash on hand, depending on the client’s preference.
Finally, Process 12: Receive Payment concludes the transaction. The carpenter receives the payment and the project cycle is officially completed.
In summary, this Level 0 Data Flow Diagram provides a clear and structured overview of the entire project lifecycle within the CCARP system. It highlights improved interaction between clients and carpenters, introduces process transparency, and ensures each step—from planning to payment—is well-documented and easy to follow.
The Entity-Relationship Diagram (ERD) of the proposed CCARP system, shown in Figure 3.10, provides a detailed map of how the data in the system is structured and connected. This diagram consists of 18 entities that play critical roles in organizing and maintaining the system’s data.
The Users and Carpenters tables are at the core of the system, where both share common attributes like First_Name, Last_Name, Phone_Number, Email, Address, Date_Of_Birth, Username, Password, and Photo. However, the primary keys for these tables differ, with User_ID for users and Carpenter_ID for carpenters, ensuring clear differentiation between clients and service providers.
The Plan entity is directly connected to the Users table via the User_ID foreign key. This entity contains detailed attributes regarding the construction plan, including dimensions of the lot and floor area, the initial budget, estimated cost, project dates, and type of house to be built. It also includes additional details such as project status, photos, and the number of views.
One important table connected to the Plan entity is PreMaterials, which holds information about the materials selected for the project. This entity has a one-to-one relationship with the Plan table, ensuring each plan is linked to specific materials. The PreMaterialsInventory table, managed by the admin, ensures that all materials needed for the project are available and properly cataloged in the system.
As part of the system’s workflow, the PlanApproval table links the plan with the carpenter, establishing a one-to-one relationship between the two. Once the plan is approved, the Contracts entity comes into play. This entity records the details of the contract between the client and carpenter, including labor costs, preferred work types, and more. The Contracts entity is critical, as it connects to several other supporting entities like Transactions, Reports, Attendance, Tasks, and Completed_Tasks. These are all linked to the contract, ensuring that all data regarding the work, attendance, and task completion is tied to a specific contract through the Contract_ID.
Another essential entity is ProjectTurnover, which stores the records of completed projects. This entity is linked to the Contracts table and has a one-to-one relationship with it. The ProjectTurnover entity also connects to the Payment table, managing the final payments made to carpenters once the project is completed.
The admin side of the system plays a vital role in managing the PreMaterialsInventory, allowing admins to input material data through CSV file uploads. The admin also oversees entities related to user feedback, such as JobRatings, Likes, and Ratings, which help assess client satisfaction and the performance of carpenters. These entities are typically associated with one-to-many relationships, where users can leave multiple feedback entries tied to a single project or carpenter.
Overall, the ERD of CCARP ensures that each data point, from project details to feedback, is systematically structured and well-connected. The relationships between the entities—ranging from one-to-one to one-to-many—allow for smooth data flow and ensure that both clients and carpenters can interact efficiently within the system.
The Project Organization of CCARP, as shown in Figure 3.11, consists of three distinct yet complementary roles: the Hustler, the Hacker, and the Hipster. Each member brings a unique skill set and perspective to the project, contributing to the success and growth of the system.
The Hustler plays the most significant leadership role within the project. As the project manager, the Hustler is responsible for the overall management and direction of CCARP. This individual is business-savvy and ensures that the company remains financially viable and continues to grow. The Hustler’s responsibilities include building and leading the team, managing the project’s progress, refining the business model, establishing partnerships, and guiding the team throughout the journey. They are also key to cultivating and reinforcing the company’s culture, making sure it stays aligned with its goals and values. This role is typically held by the CEO, who has the vision to steer the project toward success while fostering a motivating and productive environment for the team.
Next is the Hacker, whose role is crucial for the digital integrity and security of the CCARP system. The Hacker focuses on safeguarding CCARP’s digital assets by identifying and mitigating potential security vulnerabilities. They do so by simulating cyberattacks, conducting penetration tests, and rigorously assessing the security controls within systems, networks, and applications. The Hacker provides actionable recommendations and remediation strategies to fortify the security of the platform. Additionally, they ensure compliance with relevant regulations, raise security awareness among team members, and test the organization’s ability to respond to incidents. By acting as a “white hat” adversary, the Hacker minimizes risks and strengthens the overall security posture of CCARP, ensuring that user data and platform functionality are protected from potential threats.
Lastly, the Hipster brings creativity, innovation, and a user-centric focus to the project. They are the visionaries who challenge the status quo and bring fresh perspectives to the table. The Hipster’s role involves proposing unconventional solutions that might push the boundaries of traditional thinking, leading to innovative outcomes that set CCARP apart in the marketplace. They are deeply committed to understanding the true needs and desires of the end users, advocating for designs and features that feel authentic and resonate with real-world users rather than adopting a purely corporate or generic approach. The Hipster places a strong emphasis on quality and craftsmanship, ensuring that the product’s output is of the highest standard. Additionally, they foster a unique and creative team culture, encouraging experimentation, critical thinking, and open-mindedness within the group. Their presence promotes diversity and the constant re-evaluation of processes, pushing the team to find better ways to achieve their goals.
Together, the Hustler, Hacker, and Hipster form a well-rounded team, each playing an integral role in driving CCARP forward. The combination of leadership, technical expertise, and creativity ensures that the project is not only secure and functional but also innovative, user-centered, and poised for long-term success.