Thikana
A modern full-stack house rental & property management platform with role-based access, Stripe payments, real-time filters, and an admin analytics dashboard.
Test Credentials
Use these accounts to explore the live demo
Browse properties, request rentals, pay via Stripe & submit reviews
Create/edit property listings, approve rental requests & view earnings
Platform controls, user moderation & revenue analytics charts
Project Overview
Thikana is an enterprise-grade rental property marketplace designed to streamline housing search, rental request workflows, landlord listing management, and automated payment processing. The platform features role-based access control (Tenant, Landlord, Admin), real-time multi-criteria property search, Stripe checkout integration, verified tenant reviews, and a robust admin dashboard with revenue analytics.
Problem Statement
Finding verified rental accommodations often suffers from fragmented communication, lack of transparent reviews, insecure cash transactions, and manual management processes for landlords.
Solution
Built a full-stack Next.js 16 & Express platform featuring a multi-role portal (Tenant, Landlord, Admin), real-time multi-filter search, Stripe checkout for automated rent payments, verified feedback loops, and interactive analytics charts.
Key Features
- Role-based access control (Tenant / Landlord / Admin)
- Advanced property search with city, price, category, and spec filters
- Property CRUD management for landlords with photo galleries
- Rental request lifecycle management (Pending → Approved → Paid / Rejected)
- Automated Stripe payment checkout and digital receipt view
- Verified tenant reviews and star rating system
- Admin dashboard with Recharts revenue analytics and user moderation
- Dual-token JWT authentication stored in HTTP-Only cookies
Challenges Faced
- Implementing dual-token HTTP-Only cookie security seamlessly across Next.js Server Actions and client components
- Managing complex rental request state transitions synchronized with Stripe webhook payment updates
- Optimizing multi-criteria property query performance using TanStack Query client caching
Technology Stack
Architecture & Workflow
Next.js 16 (App Router) → Server Actions & TanStack Query → Express REST API → MongoDB. Auth layer uses dual JWTs (accessToken & refreshToken) stored in HTTP-Only cookies. Stripe Webhooks verify payment completion before updating booking states.