Welcome to the API repo of March 2021 cohort's final project.
We have built a fullstack platform for new office leasing startup in Gothenburg that spans 3 different applications:
-
A client for customers that are seeking to rent a new office in Gothenburg. It is a single page application that contains cosy inteface with general information about the company, and a wizard, with which customer can create an inquiry to broker to search for a new office.
-
An admin interface for brokers where they have access to all inquiries, can administer them and have access to statistics
-
A backend engine that stores all of our data and provides end-points to access it
For full description of the applictation, click here to go to our main repo
The backend of Flex Coast is built with Ruby on Rails as a dedicated API. It serves our database that holds information related to the Inquiries, Notes, Brokers, and provides mailing services, slack notifications, and HubSpot integration.
The Inquiry model holds information about customer inquiries gathered through the questionnaire on the public client. When an Inquiry has been submitted, the backend sends a mail to both the brokers as well as to the email given in the questionnaire - and even sends a slack notification.
In addition, it serves endpoints to the Admin client where all Inquiries are listed. Brokers can update the inquiry status from here, which will attach their name to the Inquiry. When an Inquiry is set from 'pending' to 'started', we also send off an email to the customer, informing that the process has been started.
Attached to each Inquiry is a list of Notes. Notes are entities of information that are auto-generated by the backend when an Inquiry has been made or status is updated. The broker can also add their own notes to an Inquiry.
Furthermore, Inquiries can be exported to HubSpot by the click of a button through our HubSpot export service.
The backend also holds analytical functionality with the help of Ahoy. On the client we gather various information about user interaction, which is then processed into collections of usable data and ultimately shipped over to the Broker's analytics dashboard.