Clairvoyant Services Directory Upgrade
Moving the service to a better tech stack to ensure the website’s stable and fast work
The client came to us with the task of moving their existing directory for clairvoyants from one tech stack to another, which is more efficient and productive. The goal was to optimize the directory’s performance and facilitate working with content.
Project Idea
The client had
A functioning web platform
New technical requirements
We were responsible for
Moving the solution to JavaScript + Contentful
Building and releasing new pages
Industry: E-commerce
Type: Web development
Time: 1,5 years (ongoing)
Platforms: Web
Project team
Project Manager
Two Full-Stack Engineers
Business Analyst
QA Engineer
Technology Stack
The technologies and tools we used on the project include:
- Next.js
- TypeScript
- GraphQL
- Redux
- Axios
- Contentful
- Serverless
- AWS
- DataDog
- Eslint & Stylelint
Plarform’s features
Psychics
All psychics are filtered by abilities, tools, and style. Also, there are specific categories like Customer favorites and Stuff pick.
Horoscope
Horoscopes are sorted by signs and time periods (day, week, month, year).
Blog
The collection of articles on various useful topis, from love and relationships to destiny and life path.
Challenges and Solutions
Data volume and content models
Problem: To move the website to Contentful, we have to create a new Content Model from scratch. A Content Model is a kind of database with Content Types being the tables in this database. The website is very large with many pages that have completely different designs. But we weren’t able to create so many Content Types for all the pages because of Contentful limitations.
Solution: We have created several flexible Content Types that can be reused for almost all cases, so now almost all website’s pages consist of Sections, Blocks, and Links.
Redirecting users
Problem: We had to integrate our application into the customer's website, which is hosted using WordPress. Unfortunately, it wasn’t possible to just put the NextJS application in there.
Solution: Our team suggested adding a load balancer that would redirect users to either the current WordPress site or to new pages depending on which URL they came from.
Moving from one environment to another
Problem: The legacy project had 4 environments and so did the new Contentful-based website. Since the number of pages was voluminous, it was extremely time-consuming to manually transfer content from one environment to another. Besides, there was a risk of human mistakes.
Solution: We have written a script to transfer changes from one Contentful environment to another. The code allows the client to avoid data and time loss during migration. The script does not require additional code, so even non-technical specialists can use.
The results
All the existing content is moved to a more efficient environment.
The directory’s performance improved by 37%.
The process of content management is optimized.