



Full-stack Event Discovery & Ticket Booking Platform (MVP)Bengal Booking is an event marketplace designed to connect event organizers with people looking for things to do. Users can browse published events by category, location, and search terms, select different ticket types, and reserve tickets through a short-lived pending booking. Sellers can create and manage their own events and inventory, while super administrators have full control over users, categories, locations, events, tickets, and payments.The project was built as a separate Next.js frontend and NestJS backend with a strong focus on a reliable booking foundation. The core challenge was preventing two users from successfully reserving the same ticket during concurrent checkout attempts. This was solved using ticket-level inventory, immediate Redis-backed distributed locks, a ten-minute payment window, payment confirmation, and automatic expiry handling.Key FeaturesFor UsersBrowse and filter published events by category, division/area, and text searchView detailed event information including venue, dates, ticket types, prices, and booking limitsRegister with email/password or Google OAuth and verify emailReserve available tickets, submit buyer details, and confirm paymentView personal booking history and statusFor SellersCreate and manage owned eventsConfigure event dates, venue details, booking/cancellation deadlines, payment type, and max tickets per bookingCreate multiple ticket types with name, description, price, and inventoryTrack bookings and view seller dashboardFor Super AdminsManage users and account statusManage categories, divisions, and areasOversee all events, tickets, and paymentsAccess platform-level dashboard summariesTechnical HighlightsConcurrency control: Redis locks (ticket_lock:{ticketId}) ensure only one booking can hold a ticket at a time. Locks are acquired before creating a pending booking and released on confirm, expire, or failure.Booking lifecycle: Select tickets → Acquire Redis locks → Create pending booking (10-min expiry) → Confirm payment (tickets marked SOLD) or Expire (tickets released back to AVAILABLE).No waiting queue: Unavailable tickets fail immediately instead of putting users in an indefinite queue.Role-based authorization with JWT (HttpOnly cookie) and Google OAuth.Clean separation of concerns with dedicated modules for Auth, Booking, Event, Ticket, Payment, Dashboard, etc.Tech StackFrontend: Next.js 15 (App Router), React 19, TypeScript, Tailwind CSS, TanStack Query, Zustand, React Hook Form, Zod, RechartsBackend: NestJS 11, TypeScript, Prisma ORM, Passport JWT, Google OAuth2, class-validator, VitestDatabase & Cache: PostgreSQL + Redis (ioredis)Infrastructure: Docker Compose for local developmentMy ContributionI designed and implemented the complete booking system — from ticket selection and Redis locking to pending bookings, payment confirmation, expiry handling, and role-based access control. The focus was on building a dependable foundation that keeps ticket availability consistent under concurrent load while remaining simple and maintainable.System DesignView detailed System DesignThis is currently an MVP. The core domain model and concurrency-sensitive booking flow are complete. Future work includes real payment-provider integration, email notifications, richer dashboards, and additional production hardening.

A modern Microservice-based URL Shortener built with Next.js, Node.js, Express, Prisma, Neon PostgreSQL, Upstash Redis, and Docker. The architecture focuses on scalability, loose coupling, high performance, and production-ready deployment.🔗 Live DemoFrontend: https://lily-link.vercel.appRepository: https://github.com/meheraj786/microservice-url-link-shortenerSystem-Design(HLD): https://meherajdev.vercel.app/system-designs/design-url-shortner🛠️ Tech StackFrontend (User Interface)Framework: Next.js 16 (App Router)Styling: Tailwind CSS v4 + HeroUI (formerly NextUI)HTTP Client: Axios with automatic JWT token injection via interceptorsDeployment: Vercel (Production Static Optimization)Backend (Microservices Core)Runtime: Node.js + Express + TypeScriptORM: Prisma (v6 & v7)Database: Neon PostgreSQLuser_schemaurl_schemaCaching: Upstash Redis (Serverless Distributed Cache)API Gateway: Dockerized NginxReverse ProxySSL HandshakingCustom CORS PreflightNative Rate Limiting (HTTP 429)Infrastructure & DevOpsContainerization: DockerOptimized Builds: Multi-stage DockerfilesLocal Orchestration: Docker ComposeCI/CD: GitHub ActionsDeployment Strategy:Backend → RenderFrontend → Vercel✨ Features🔐 JWT AuthenticationSecure user registration and login handled by the dedicated user-service.🔗 Logical Foreign KeysIndependent microservices communicate using loose-coupled userId string references without enforcing physical database foreign keys.⚡ Distributed CachingURL lookups first query Upstash Redis (O(1)), then fall back to PostgreSQL, significantly reducing database load.🌐 API GatewaySingle centralized gateway powered by Nginx, hiding downstream services behind one public endpoint.🛡️ DDoS ProtectionBuilt-in Nginx rate limiting automatically returns HTTP 429 Too Many Requests during excessive traffic.🚀 Monorepo CI/CDGitHub Actions deploy only affected applications based on commit prefixes.Commit PrefixActionbackend:Build & Deploy Backend to Renderfrontend:Build & Deploy Frontend to Vercel📂 Project Structurelily-link/│├── .github/│ └── workflows/│ └── ci-cd.yml│├── gateway/│ ├── nginx.conf│ └── Dockerfile│├── services/│ ├── url-service/│ │ ├── src/│ │ └── Dockerfile│ ││ └── user-service/│ ├── src/│ └── Dockerfile│├── frontend/│├── docker-compose.yml│└── .env.sample🚀 Local DevelopmentPrerequisitesDockerDocker ComposeNode.jspnpm1️⃣ Clone the Repositorygit clone https://github.com/meheraj786/microservice-url-link-shortener.gitcd url-shortener2️⃣ Configure Environment VariablesCreate a .env file in the project root by following the .env.sample template.3️⃣ Start All Servicesdocker compose up --build4️⃣ Verify API GatewayThe Nginx API Gateway runs on Port 80.Health Check:curl http://localhost/health📦 MicroservicesServiceResponsibilityuser-serviceAuthentication, User Management, JWTurl-serviceURL Shortening, Redirects, Redis CachegatewayReverse Proxy, CORS, Rate Limiting⚙️ Architecture HighlightsMicroservice ArchitectureDockerized InfrastructureShared PostgreSQL with Isolated SchemasDistributed Redis CacheCentralized API GatewayJWT AuthenticationConditional GitHub Actions CI/CDProduction Ready DeploymentLoose Coupling Between Services🛡️ SecurityJWT AuthenticationSecure Password HashingNginx Rate LimitingCustom CORS HandlingReverse Proxy IsolationEnvironment Variable Configuration🚀 DeploymentServicePlatformFrontendVercelBackendRenderDatabaseNeon PostgreSQLCacheUpstash RedisGatewayDocker + Nginx👨💻 AuthorMeheraj HosenGitHub: https://github.com/meheraj786📄 LicenseThis project is licensed under the MIT License.

Daak API Client is a modern, lightweight, and developer-friendly API testing tool inspired by Postman. It was built with the goal of providing a simpler and cleaner experience for developers who want to test and manage APIs without unnecessary complexity.The project focuses on usability, speed, and an intuitive interface. From sending HTTP requests to inspecting responses, every feature is designed to make API development more efficient and enjoyable.Building this project allowed me to explore modern frontend architecture, improve user experience, and create a tool that solves a real-world developer workflow. While the project is still evolving, it reflects my passion for building practical, scalable, and polished software.Tech Stack: Next.js, TypeScript, Tailwind CSS, React

ViraNest AI is a Next.js app that generates YouTube growth content from a single topic or keyword.It includes multiple AI tools such as title generation, description writing, tags, hashtags, thumbnail prompts, scripts, hooks, and Shorts ideas.FeaturesAI-powered YouTube content generation from one keywordDedicated tool pages under dynamic routes (/tool/[slug])API route for generation (/api/generate)Dark/light theme toggle with next-themesPWA support via @ducanh2912/next-pwa and public/manifest.jsonBuilt WithNext.js 16 (App Router)React 19 + TypeScriptTailwind CSS v4 + shadcn/uiOpenAI SDK (configured to call Groq OpenAI-compatible API)lucide-react iconsTool SlugsThe app currently supports these tools:seo-titleseo-descriptiontagshashtagthumbnailscriptviral-hookshorts

Amar Hishab is a Bengali-first business accounting web app for tracking income, expenses, dues, profit, and invoice generation.FeaturesFirebase-based authentication and user data isolationIncome/expense transaction managementDue (বাকি) tracking and due payment flowProfit and balance calculationsReports and charts (date-based filters)Invoice generator with print supportProgressive Web App (PWA) support for install/offline-ready behaviorTech StackReact 19 + TypeScriptViteFirebase (Auth + Firestore)Zustand (state management)Tailwind CSS + shadcn/ui componentsRecharts (visual reports)vite-plugin-pwa (service worker + manifest)

A modern social media web application with features like posts, friends, messaging, groups, pages, and notifications – built using Vite + React + Tailwind on the frontend and Firebase on the backend.✨ Features👤 Account & ProfileEasy Signup / Login / LogoutComplete Profile Page (Photo, Cover, Bio, Location)Ability to post on own profile📝 Posts & FeedCreate Text + Image PostsFeed Tabs: Global / Following / GroupsEdit & Delete PostShare Post (with original content)Event / Job / Product type PostsAdd Story option & reply to story messages💬 InteractionLike / Reaction CountComment (Add / Edit / Delete)Share to Timeline👥 Friends & Follow SystemFriend Request (Send / Accept / Cancel)Friend List & Unfriend optionUser/Page Follow & Unfollow✉️ MessagingDirect Message (DM)Group Chat & Page Inbox MessagingQuick DM (Auto message from Interested/Buy/Apply click)Typing Tracker (see when someone is typing)🔔 NotificationsLike, Comment, Follow/Unfollow, Friend Actions & Message NotificationsUnseen Badge & Seen Support📄 Page SystemCreate Page & View ListPage Profile & Post as PageFollower CTA: Interested / Buy / Apply👨👩👧 Group SystemGroup Posts (Admin / Member / Anonymous)Group ChatSeparate Tab for My Group PostsPublic & Private Group System🔎 Search & NavigationSearch Box & Result ModalNavbar: Home / Notifications / Messages / Profile🎨 UI HelpersLoader, Skeleton, ToastFullscreen Overlay & Modal⚡ OthersCustom 404 PageProtected Route (Profile access only after login)🛠️ Tech StackFrontend: Vite + React + Tailwind CSSBackend: Firebase (Auth, Firestore, Storage, Realtime DB)