<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Parthib Basu</title>
    <description>The latest articles on DEV Community by Parthib Basu (@parthib_basu_8014e49c72d0).</description>
    <link>https://dev.to/parthib_basu_8014e49c72d0</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3488836%2Fa0c7c38b-d6d1-432c-a77e-f9b45a2e77d8.jpg</url>
      <title>DEV Community: Parthib Basu</title>
      <link>https://dev.to/parthib_basu_8014e49c72d0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/parthib_basu_8014e49c72d0"/>
    <language>en</language>
    <item>
      <title>Building a Pandal Finder: Day 1 - Data, APIs, and Jackson Woes</title>
      <dc:creator>Parthib Basu</dc:creator>
      <pubDate>Tue, 09 Sep 2025 07:12:06 +0000</pubDate>
      <link>https://dev.to/parthib_basu_8014e49c72d0/building-a-pandal-finder-day-1-data-apis-and-jackson-woes-31p7</link>
      <guid>https://dev.to/parthib_basu_8014e49c72d0/building-a-pandal-finder-day-1-data-apis-and-jackson-woes-31p7</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;I've started working on a project I'm passionate about: a web app to help people find Durga Puja pandals in Kolkata. I'm sharing my journey as I #buildinpublic.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The Data Grind&lt;br&gt;
The first challenge was data. After spending a full day on Reddit, I compiled a list of ~100 unique pandal locations. This was followed by a few hours of data cleaning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Cost of Geocoding&lt;br&gt;
To make the data useful, I needed coordinates. I used the Google Maps Geocoding API, which was straightforward. A heads-up for fellow indie devs: it required a ₹1000 activation fee, which is something to budget for.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backend with Spring Boot &amp;amp; Supabase&lt;br&gt;
I chose Supabase for my database and Spring Boot for the backend. The schema is simple for now:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;clusters (to group pandals by region like North/South)&lt;/p&gt;

&lt;p&gt;pandals (with name, lat, lon, etc.)&lt;/p&gt;

&lt;p&gt;I quickly set up the standard MVC structure: Entities, Repositories, Services, and Controllers.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Inevitable Bug &amp;amp; A Cool Feature
While testing my first APIs in Postman, I hit a wall with a Jackson serialization issue (a classic!).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After fixing that, I built the main feature: finding nearby pandals. I used a custom JPA @Query to perform a geospatial search.&lt;/p&gt;

&lt;p&gt;Java-&lt;br&gt;
@Query("SELECT p FROM Pandal p WHERE (6371 * acos(cos(radians(:userLat)) * cos(radians(p.latitude)) * cos(radians(p.longitude) - radians(:userLon)) + sin(radians(:userLat)) * sin(radians(p.latitude)))) &amp;lt; :radius")&lt;br&gt;
List findPandalsByRadius(&lt;a class="mentioned-user" href="https://dev.to/param"&gt;@param&lt;/a&gt;("userLat") double userLat, &lt;a class="mentioned-user" href="https://dev.to/param"&gt;@param&lt;/a&gt;("userLon") double userLon, &lt;a class="mentioned-user" href="https://dev.to/param"&gt;@param&lt;/a&gt;("radius") double radius);&lt;/p&gt;

&lt;p&gt;It's been a productive day! Next up is the frontend.&lt;/p&gt;

</description>
      <category>java</category>
      <category>webdev</category>
      <category>springboot</category>
      <category>api</category>
    </item>
  </channel>
</rss>
