← Back to Projects
Gatherly

Gatherly

Community Discovery Platform

Live Code

Overview

Gatherly connects people with local communities across Bangladesh — photography, hiking, books, tech, food, and more. Organisers get simple tools to list their community and surface upcoming gatherings; everyone else gets one place to discover what's happening close to home.

Key Features

  • Landing page with hero, stats, featured communities, categories, and testimonials
  • Email/password credentials + optional Google OAuth via NextAuth.js
  • Searchable, filterable community catalog with category chips and member counts
  • Community detail pages with banner, description, tags, and join button
  • Protected 'Start a Community' form with inline validation
  • Protected 'Manage Communities' table with View and Remove actions
  • Fully responsive mobile-first layout with hamburger nav

Tech Stack

Frontend: Next.js 14 (App Router), NextAuth.js v4, Custom CSS (violet/purple palette)

Backend: NextAuth Credentials + Google OAuth

Database: localStorage (demo)

Auth: NextAuth.js, JWT sessions

Challenges

  • Persisting user-created communities without a backend database
  • Hiding removed seed communities consistently across sessions
  • Keeping route protection simple with Next.js middleware

Solutions

  • localStorage CRUD helpers in src/lib/club-store.js
  • Separate localStorage key tracks removed community IDs
  • middleware.js protects /add-club and /manage-clubs at the edge

Future Improvements

  • Replace localStorage with Prisma + PostgreSQL backend
  • Add real-time RSVP counts with Socket.IO
  • Push notifications for upcoming gatherings