Rasul Mammadov | Full-Stack Web Developer

Rasul Mammadov

Full-Stack Web Developer

A platform that helps users discover and book exciting quest-room events in the Netherlands. With easy-to-use filters and detailed descriptions, users can find the perfect escape room adventure.

Escaped
Next.js
Typescript
React.js
Tailwind
Express.js

Overview

The goal for this project was to copy the functionality of a mobile app built with Flutter to Next.js.


Google maps real-time updates demo

Demo


Tech stack:

  • Express.js
  • React.js 18
  • Typescript
  • Next.js 14
  • Tailwind CSS

Authentication:

  • Magic links sent via e-mail

3rd party APIs:

  • Google Maps API
  • Places API

Internalization (localization):

  • next-intl


Workflow

For this project, all the sorting, searching and filtering is happening on frontend. For that, a special hook called useFilteredRooms was created, that was hooked to React Query's useQuery result for caching purposes.



Challenges

Conversion of Dart code to Typescript

An interesting challenge was to convert a Dart code that handles authentication to Typescript. In the past I've built a few tiny Flutter apps for practice, so this was a great opportunity to remember some Dart. Thankfully, the client I've been working on is also a developer and he was kind enough to help with the conversion.


Updating Google Maps in real-time

As a seasoned web developer, I already had years of experience working various Google APIs. However, working on this project have definitely expanded my abilities with Google Maps. An interesting challenge was to make the maps represent the filtered results in real-time and create some custom handlers for the pins.


Reinstantiating Maps for responsiveness

Responsive

After some testing, I came to conclusion that the best way to approach responsiveness was to keep two copies of the map: one for mobile, and one for desktop.



Conclusion

Overall, it was an interesting project to work on and I'm very happy with the results.


Thanks for reading this case study!

Hug me brothaaa

Want to see how I helped other businesses? Head back to the Homepage to find more case studies just like this one!


✌️