Projects/staysuite

Full Stack Project

StaySuite

StaySuite is a property rental platform offering key features such as user authentication, booking management, saving travelling history and favourite listings for guests while enabling hosts to manage listings via dashboard and seamlessly handle reservations made on their listings.

Type

Full Stack Project

Stack

7 Technologies

Features

10 Key Features

Status

Live

01. Overview

StaySuite is a property rental platform offering key features such as user authentication, booking management, saving travelling history and favourite listings for guests while enabling hosts to manage listings via dashboard and seamlessly handle reservations made on their listings.

Built with Javascript, Nuxt, Nest, Tailwind, Jwt, Socket, VueUse. This project showcases end-to-end development from architecture to deployment, demonstrating expertise in modern web technologies and production-grade engineering.

02. Features

User Authentication

Secure signup and login for users with JWT-based session management.

Admin Panel

Comprehensive dashboard for managing property listings and bookings.

Guest Features

Booking system, booking history tracking, and favourite listings for quick access.

Host Features

Listings and reservations dashboard for managing properties and guest bookings.

Real-Time Updates

Instant notifications and updates for bookings and reservations using Socket.io.

State Management

Centralized data handling with Pinia Store for efficient app-wide state management.

Animations and Transitions

Smooth and engaging UI animations powered by VueUse Motion.

Backend Security

Role-based access control, JWT middleware, and password hashing for secure operations.

Responsive Design

Fully responsive layout optimized for both mobile and desktop devices.

Styling and UX

Consistent and intuitive design with Tailwind CSS and toast notifications for user feedback.

03. Functionalities

JWT Authentication

Implemented JWT for secure user authentication, with tokens stored in localStorage.

Protected Routes

Configured route guards to redirect unauthenticated users to the login page.

Admin Listings/Bookings Management

Built CRUD operations for admins to manage property listings.

Guest Booking System

Integrated a booking submission flow with backend storage.

Host Dashboards

Developed dashboards for hosts to manage their property listings and reservations.

Socket.io Integration

Enabled real-time communication between guests and hosts.

Pinia Store

Centralized state management for user data, listings, bookings, and favorites.

VueUse Motion

Added animations and transitions for enhanced user experience.

Role-Based Access Control (RBAC)

Implemented middleware to restrict routes based on user roles.

Password Hashing

Used bcrypt to securely hash passwords before storing them in the database.

Multer for Image Uploads

Integrated Multer to handle property listing image uploads.

Tailwind CSS

Styled the application with utility-first CSS for consistent and responsive design.

Toast Notifications

Added feedback mechanisms using toast notifications.

04. Tech Stack
Javascript
Nuxt
Nest
Tailwind
Jwt
Socket
VueUse