Calculate project
Contact us
Calculate project

Pikky.space: startup in weeks with Firebase

Mykola Vasylenko
Mykola Vasylenko
founder, development lead
Finish date: 28 Jun 2020

The idea

It is a service for interior designers to share their portfolio and find new clients. From the other point of view, it's a service to get inspired by beautiful interiors.
It dictates the main piece of functionality - user-generated content.
Firebase was chosen as a platform and showed itself as a perfect solution for such requirements.
Additionally, Contentful is used as a SAAS content management solution. Custom Elastic service for full-text search and data-pipe service to pull data from Firebase and Contentful were implemented.

Most of code is JavaScript + React.

Authentication

image

Firebase provides rich built-in functionality for authentication. Email, Google SSO and Facebook strategies were the requirements.

Role-based authorization to provide moderator and administrator functionality was also implemented extending Firebase built-in tools.

Internationalization

The project currently supports two languages: English and Russian. Localization is supported by design and implemented for three types of data: UI labels, Contentful, Search.

Social network integrations

First of all - users can sign up via Google and Facebook accounts.
For all kinds of sharing Open Graph is implemented. It required us to introduce simple Server Side Rendering for them via Firebase cloud functions.

Content catalog

image

The main part of the functionality is the content catalog. It's built upon Firebase Cloud Firestore. The average time of content catalog page request up to 100ms.

The catalog has various filters, and map presentations with the ability to search within a bounded box. For the map service MapBox was the best option.

User area

Screenshot 2020-08-06 at 13.19.18

Service provides a solid set of user area functionality.

It includes:

  • Registration, authentication, password reset
  • Email validation
  • Account merging with social profiles
  • Bookmarks
  • User ratings
  • Account deletion

User content generation tools

Screenshot 2020-09-11 at 12.42.16

Every user is encouraged to publish generated content. They may attach Designer Profile to their account and publish new projects. Once the project passed moderation, a user profile is being processed in designer ratings.

Multi-step Create project page is implemented. It uses special custom micro-service to provide with project's address.

A complex multilingual Elastic-based search solution is implemented for the project. It provides search for the different types of content with the search suggestions.

Data-pipe updates the search index almost immediately after the content update. It also uses data from location microservice and from Contentful to provide synonyms support.

Performance

Thankful to the architecture decisions, service is highly scalable and blazing fast. Avg response time is 50-100ms. It's mostly independent on load.

Cost and maintenance

Within the predicted service load infrastructure cost is going to be extremely low. The service utilizes the power of Firebase, Contentful, MapBox, and several its own micro-services with a minimal budget.

Once the load grows, infrastructure costs will increase as well, but it still will be reasonable to use all these services due to their functionality and stability.

The cost of development and time to MVP on production was dramatically decreased because of serverless architecture.

Clap if you like it!

Featured cases

Oleh Tsymbal

Reaction Commerce: empower enterprise eCommerce with fine graded microservices

Read more

Mykola Vasylenko

Boost infrastructure by Kubernetes and custom management interface

Microservice based application for deployment automatization on custom infrastructure

Read more

Mykola Vasylenko

Pikky.space: startup in weeks with Firebase

Custom service to find interior designer or publish your design projects

Read more
More cases

Interested in our services?

Checked

What's next?

1
We contact you
We’ll contact you within 24 hours with more information on our next steps. In the meantime, you can check out our case studies and our blog
2
Collect requirements
Our next step will be to collect all the requirements for your project, clarify your business objectives, and expectations towards our cooperation
3
Proposal
After that, we’ll develop a proposal for you.

Services

  • Development
  • Advisory
  • Infrastructure
RabbitPeepers LLC
contact@rabbitpeepers.com
Kyiv, Ukraine
Delaware, US
PrivacyTerms © 2019-2021