Contact Us

HOME FIT OUT

Raised Seed Funding

HOME FIT OUT is a digital platform that provides cutting edge home furnishing solutions. Users can pick a pre-designed room and create a furniture layout online, then have all the room furniture delivered as a package. 

HOME FIT OUT has raised seed funding from one of the top US accelerators.

Location: Canada
Industry: Real Estate

Product: web application

The scope of our work: front-end, back-end, QA

Solutions: admin dashboard optimization

 

CLIENT GOALS

The client wanted to optimize and redesign the admin dashboard for more convenient and fast usage, which included:

– Data processing optimization

– Creating an API for the client-side using React.js

– Building a new admin panel based on the existing database architecture of the old admin panel.

Main Features
1) Account dashboard: 
  • Orders:

– shows a list of ordered rooms with furniture

– ability to see order details and change them.

 

  • Rooms:

 shows the list of pre-designed rooms and custom rooms requested by the customers

 ability to create custom rooms from the existing list of furniture.

 

  • Furniture:

– furniture overview in different categories

– ability to add new items, review, edit and delete any item on the admin panel.

 

  • Product Categories: shows all the furniture categories (e.g. dining chairs, desks, etc.) and room categories (e.g. living rooms, dining rooms, bedrooms).

 

  • Style Reports: are created after customers take a style quiz. Style reports show potential customers their individual style.   

– shows the style reports and users’ requests for custom-designed rooms

– ability to create a custom design for a room interior according to a customer’s individual style request and to share it with the customer.

 

  • Logistics: gives an overview of all the freight carriers, home delivery agents and furniture suppliers that HOME FIT OUT uses to move furniture from suppliers to customers’ homes.

 

  • Purchase Orders: 

– shows all the purchase orders for the furnished rooms 

– admin’s ability to create furniture orders for furniture suppliers and send the request via email.

 

  • Last Mile Quotes: shows all the quotes that HOME FIT OUT requests from home delivery agents for each of the orders.

 

  • Access Management: manages roles and access to different parts of the admin dashboard.

 

  • Tax Rates: shows the tax rates for each US state and each Canadian province.

 

  • Users: an overview of all the registered users.

 

  • Countries: shows all countries available for delivery.  

 

  • Settings: presents different variables that are used, e.g. what email account to use for sending emails, how to calculate room pricing, what room shapes to use for the room planner.

 

  • Coupons: shows all the created coupons that can be applied for getting a discount.
2) Automatic deployment:

when the developer pushes something into a certain branch, CircleCI runs all the tests. In case of successfully passing the tests, all changes are deployed automatically to the development server.

Top Challenges
#1 Challenge: 

Authorisation process

The challenge here was to combine the authentication of the old admin panel with the new admin panel. 

A React-created application doesn’t exist on any kind of domain, it has its own one. This project had a pre-existing website domain. Plus, there was no direct communication with the back-end and every request went through React. So, our team had to create an admin panel on a separate subdomain to ease the authorisation flow.

The task was to create a flawless process of switching to the new admin panel without losing an authorisation.

Solution:

Ruby device

We used Ruby devise gem for solving an authentication issue. 

Current admin authentication flow: 

  1. An admin logs into the main site.

  2. After successful authorization, the application sets cookies with the encrypted session_id of the logged-in admin.

  3. This cookie is available for subdomains as well, so our react application has access to it.

  4. Upon each request to the API, the React application sends this cookie with each request.

  5. API decrypts cookies and gains access to the user session.

#2 Challenge: 

Image storage optimization

The issue: the images weren’t stored on the platform. They could be accessed via the links which led to third-party servers. Since only image links were stored, images used to drop out because some furniture items were out-of-stock on a third-party server, thus images became inaccessible too. 

In addition, the images used to overload the system as they took a lot of space and weren’t resizable. 

Solution:

AWS S3, AWS CloudFlare

We took all the image links and uploaded them to AWS S3, a storage server and resized them. Plus, we distributed these images via CloudFlare CDN – Amazon’s content delivery network that speeds up the time load.

Now the images are not dragged directly from the server, they are stored in the CDN and users get access to the nearest local server from where the image has been dragged.

This way not only have we optimized the image upload but also accelerated the page time load and reduced the server load.

#3 Challenge: 

Optimization of the products list

The issue: the list loaded all products at once which a browser couldn’t handle. That is why the page load time was long. 

Solution:

We added filters, pagination and sorting by fields

This reduced the load on the back-end, sped up the browser’s work and made the search for products clearer and more structured.

Project Stages
  • Database and framework setup
  • Staging server setup 
  • Setup of a repository, server, deployment
  • Architecture and database design
  • User sign-in/sign-up
  • Creating a rooms catalogue (includes filters by colour, price, materials, style. Tabs with bedrooms, dining, living), room details, survey for the custom room: Request and save all the data as a style report, social login and sharing.
  • Room planner (looking for ready solutions for the room planner)
  • Ability to view order history
  • Static content pages/blog
  • Creating an Admin Dashboard
  • Price calculation and currency converter
  • Bookmarks (bookmark rooms)
  • Responsive design
  • Data migration (users, furniture, rooms)
Results:

For optimizing the admin panel, we decided to rewrite it by using the existing database architecture. We took the old controllers as a basis and rewrote the API for front-end using React.js. Plus, we optimized queries in the database.

 

Now the admin dashboard has a fast load time, plus an attractive and convenient interface which simplifies and speeds up the work of the HOME FIT OUT team.

Our process
Timeline:

September 2018 — 2019

Team:
2 back-end developers | 2 front-end developers | QA | PM
Technologies we used
Server-side
Grape
PostgreSQL
Rails
Ruby
Sidekiq
Client-side
CSS
HTML5
JavaScript
React
Redis
Tools (hosting, monitoring etc.)
AWS S3
Swagger

Success Stories

Automated a Work Order Status Tracking PropertyRepair
#Real Estate USA
PropertyScheduler

PropertyScheduler is an American repair software platform for tracking work order status for real estate managers and tenants.

read more...
Sped Up the Selling Process by 250% real estate marketplace
#Real Estate UK
Real Estate Auction Platform

The real estate auction platform is a leading regional real estate company that helps clients buy and sell properties in the UK.

read more...
Moovle
#Real Estate Belgium
Moovle

Moovle is an Airbnb-like accommodation rental startup headquartered in Belgium.

read more...
PMS
#Real Estate Germany
Property Management System

Property Management System is a software application that is used to manage multiple properties.

read more...

Scale your team with us

Drive your business with our dedicated developers