SaaS Platform
EZ-Estimate is a SaaS platform for the construction industry that allows each customer to create their custom landing site with a quote generation feature and a personal dashboard to manage their product and site.
Target Audience
Real estate and landscape companies that need to build landing sites quickly.
The main tasks and challenges
What did the client come to us with?
The client came to us through Upwork with an idea and rough sketches of how they envisioned their system. A client from the USA wanted to create a user-friendly online platform that allowed construction companies to create user-friendly sites to attract their audience.
Our assessments
What was our assessment and needs assessment process? Given the multi-phase nature of EZ-Estimate, our Estimate was approximately $20,000. According to his rate, it was 740 hours.
How was the process of identifying project needs? The client described his requirements, and we analyzed and supplemented them with other necessary things that should be present in this project. When we already had a completely ready list of requirements from the client, we transformed it into a technical specification together with a team leader, a designer, a QA tester, and a developer. That is, the whole team participated in the preparation of the evaluation of this project.
How We Picked Technologies
The most modern technologies were chosen, which could easily be adapted to the expansion of the project so that we did not rely on any technical limitations. Since we had specific requirements for the client, e.g. it should be a SaaS platform, and technologies were selected that would allow us to do this. We concluded that the latest versions of Laravel and VueJs at that time would be suitable for us. Our technical director and programmers made this decision.
Design
The design was customized, and we engaged our partners who drew a custom design for the project. A client gave their requirements, the designer drew a first mock-up of approximately how they see the site. They also made a palette of colors and fonts. The client approved the mockup, the palette, and the layouts, and then they already approved the full design of the home page and the rest of the web pages. The finished pages were ready to be shown to the client. The client gave his feedback, and we continued to make changes if we didn’t like it. If the client approved the final design, then everything was validated, and before that, we began to edit the design of the project.
The designer drew a custom design in Figma. We received an update from the designer, respectively, through a board in Jira and Trello. And when they finished the design, the designer informed us about it and marked it in the Trello column. Project-manager was opening this column and looked at the work done in Figma. Trackers were used in Upwork – this is our internal tracker, when a person is conventionally working, it takes screenshots of the screen and accordingly, everyone knows that the person is working.
Development team
The development team was chosen based on their experience with similar projects. We hired two middle-level developers and a team of full-stack developers. The development team divided responsibilities by features and modules. Someone was involved in the layout, someone was involved in the backend, payment modules, the module for drawing elements on the map, etc.
The main development process
Description of the development
Our team was in charge of the entire development process for this project:
- Writing technical documentation
- Design development
- Project and database architecture
- Stage and live environment deployment
- Frontend development
- Backend development
- Connecting third-party APIs (Google Maps, Stripe)
- Project testing (QA & Unit testing)
Development Process
The project was managed with Kanban. The working method we used is Agile, and we constantly listened to changes from the client. We used Jira for task management and divided all our development into processes. Developers take the task into processing, and when the task is ready, it is transferred to the status of pr-2 padding. It means the code has been pushed to the repository. The programmer is responsible for reviewing the pr-2, approving it, or making corrections that point out errors. After that, the person who completed the task corrects it. If this task has been approved, it is uploaded to the staging server.
Then, a QA-tester checks the task. If this task passes, they transfer it to the next status: QA OK (it passed the test) or QA Fail (indicates a problem). If it is a QA fail, then the programmer sits down to the task, corrects the errors, and uploads it to the staging again. Accordingly, the QA-tester again conducts and reviews the task. If everything is okay, then they transfer it to QA. If the task has already been completed, and no problems were found, then it is already poured into production. As soon as it is uploaded to the live server, our QA tester re-tests it and changes it to QA OK or QA Fail. If the task is OK, it is already transferred to the “done/executed” status.
Collaborating with a Client
We communicated with the client on an ongoing basis. There were reports every Friday and calls every Wednesday and Friday. In addition to the general report, where the project manager showed what was done with screenshots and indicated specific stages of development. We also made phone calls, and a presentation of completed works was held. We discussed his next demands.
Reports to the client were formed based on their requirements.
Solution
We have created a SaaS platform for construction companies and land owners who must create landing sites to attract new audiences. The system calculates the cost of work on a specific site. We receive SQFT or LF and calculate how much time and cost it will take, for example, to improve a parking lot. The user registers their account on the platform, on which they create their page, and then links this page to their official website. The customization level for this product is extremely high, because a user sets the price, adds different products and options, and upgrades these products. After that, a user creates a landing page to discuss their company. But a user can also leave only the calculator. People go to this calculator, fill in their questionnaires, and contact details, and choose the products of this company that bought a subscription and filled them. A customer chooses these products, goes through several steps, and marks on the map where they want to place, for example, a garden for the home, showing it on Google Maps. Its length and size are calculated and the total cost of the work is determined. After that, the company contacts the customers, or the customers contact the company, and the service is provided.
Tools We Used
- Laravel 8
- MySQL 8
- Vue.js
-
Library for google map: googlemaps/js-api-loader