Back to Projects

WeRent Backend System

Nest.jsPostgreSQLPrisma ORMJWTBcrypt

Scalable rental platform backend with comprehensive RESTful APIs, role-based access control, and robust business logic for property and booking management.

WeRent Platform

Backend Architecture & API Design

Gallery
Gallery
Gallery
Gallery

Project Overview

WeRent is a comprehensive rental platform backend built with Nest.js, designed to handle property listings, user management, bookings, and payment processing. The system implements secure authentication, role-based access control, and a scalable architecture suitable for high-traffic scenarios.

The platform serves two primary user roles: Renters who browse and book properties, and Owners who list and manage their properties. The backend enforces business rules for bookings, handles payment integrations, and provides comprehensive API documentation for frontend integration.

Key Responsibilities

  • RESTful API Development

    Designed and implemented comprehensive REST APIs for users, properties, bookings, and payments with proper HTTP standards and status codes.

  • Role-Based Access Control (RBAC)

    Implemented granular permissions for Renters, Owners, and Admins using Nest.js guards and decorators to protect endpoints and resources.

  • Relational Database Design

    Architected a normalized PostgreSQL schema with Prisma ORM, handling complex relationships between users, properties, bookings, and reviews.

  • Business Logic Implementation

    Developed core rental logic including availability checking, double-booking prevention, booking lifecycle management, and payment status tracking.

  • Data Validation & Sanitization

    Created validation pipes and DTOs for all input data, ensuring data integrity and security across all endpoints.

Technical Highlights

Modular Nest.js Architecture

Organized code into feature modules (Auth, Users, Properties, Bookings, Payments) with dedicated controllers, services, and repositories for separation of concerns.

Transactional Booking System

Ensured atomic booking operations using database transactions to prevent race conditions and double bookings during concurrent requests.

Secure JWT Authentication

Implemented JWT-based authentication with refresh token rotation, password encryption using Bcrypt, and protected routes with custom guards.

Project Information

  • Role

    Backend Engineer

  • Timeline

    Mar, 2026 - Apr, 2026

  • Category

    Backend Development

  • Team Size

    Cross-functional Team

Tech Stack

Nest.jsTypeScriptPostgreSQLPrisma ORMJWTBcryptDocker