Team and Timeline
- Development Lead;
- NodeJS Developer;
- React Developer
- Cloud Architect
- 3 months
Challenges
Map service integration
- The development team experienced the challenge of integrating a map service with functionality, so the users can easily see the object at the chosen location. As a result, we created a map that provides a search for the different types of content with the search suggestions and map integration.
User content generation
- The team faced the challenge of implementing user content generation. The task was to encourage every user to publish generated content. We had to attach the Designer Profile to the users’ accounts and publish new projects.
- We performed a multi-step Create project page that uses a special custom micro-service to provide with project's address. So now, when the project passes moderation, a user profile is being processed in designer ratings.
Multilingual Search
- We experienced the challenge of integrating the search and a map. But as a result, we successfully implemented a complex multilingual Elastic-based search solution for the project. It offers a search for the different types of content.
Data-pipe updates the search index almost immediately after the content update. It also uses data from location microservice and Contentful to provide synonyms support.
Performance
- Thankful to the architecture decisions, the service is highly scalable and blazing fast. The average response time is 50-100ms. It's mostly independent to load.
Cost and maintenance
- Within the predicted service load infrastructure, the cost is going to be extremely low. The service utilizes the power of Firebase, Contentful, MapBox, and several of its micro-services with a minimal budget.
- Once the load grows, infrastructure costs will increase, but it will still be reasonable to use all these services due to their functionality and stability.
- The cost of development and time to MVP on production was essentially decreased because of serverless architecture.
Our Contribution
Our team developed a service using Firebase. It provides rich built-in functionality for authentication, as Email, Google SSO, and Facebook strategies were the requirements.
With the extending Firebase built-in tools, we implemented role-based authorization to provide moderator and administrator functionality.
Key Features
- Service provides a solid set of user area functionality and includes:
- Registration, authentication, password reset;
- Email validation;
- Account merging with social profiles;
- Bookmarks;
- User ratings;
- Account deletion
The project currently supports two languages: English and Russian.
Tech Stack
We chose the Firebase platform, and it showed itself as a perfect solution for such requirements.
Additionally, we used Contentful 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.
For all kinds of sharing, we implemented Open Graph. We had to introduce simple Server Side Rendering via Firebase cloud functions.
We’ve used JavaScript and React, as they allowed us to create rich interfaces and provide a wide range of designing templates and developer tools. They also have a UI-focus design and offer great performance.
Integrations
We implemented the Google and Facebook Integrations. It allows users to sign up quickly, verify their identity, immediately connect their social media, and support user-generated content.
Design Process
The design supported the localization and used three types of data for localization: UI labels, Contentful, Search.
The main part of the functionality is the content catalog. We built it using the Firebase Cloud Firestore. The average time of content catalog page requests is up to 100 ms.
The catalog has various filters and map presentations with the ability to search within a bounded box. The MapBox was the best option for map service.
How we helped the Client?
We helped the client implement the business idea and include the necessary functionality by providing professional development. With the user-generated content and interior design portfolios developed by RabbitPeepers, the Pikky.space performs the unique solution for people who want to share their works and find the design experts.