/fullstack-renting-application

Fullstack renting platform based on NextJS + Express

lambdarents

Introduction

LambdaRents is a web application that offers software as a service, giving users the ability to :

  • Look for a property to rent.

  • List their property to rent.

  • To interact with each other :

    • As a tenant you can create a request to rent a property.
    • As a landlord, you receive offers from tenants and manage your listings online.

Installation

First, clone the repository:

git clone https://github.com/AbduAliAndrei/fullstack-renting-application.git
# or
git clone git@github.com:AbduAliAndrei/fullstack-renting-application.git

Second, install the dependencies:

npm run install:all

Lastly, run the :

npm run dev

You should see it running on your local host (Port 3000).

Usage

Users


register user

Create a new user using your personal data. image

After registeration, you will be redirected to the offers page.


Login user

image

After logging in successfully, you will be redicrected to the offers page.


Update user

To update your personal info, navigate to profile.

There you can:

  • update your personal info, credentials and others there.
  • Create offer (As a landlord)

image


Offers


Create offer

If your role type is a landlord, you can create a listing and receive requests for it.

Navigate to profile -> create offer. Enter the offer's details and after you're done, click on submit.

image


View offers globally

You can view all the offers currently hosted on the platform.

Use the side filter tool to filter the offers according to your needs.

image


Technologies used

  • Languages:
    • Server: NodeJS (Typescript supersetted)
    • Client: JS (Typescript supersetted)
  • Frameworks:
    • Server: ExpressJS + Firebase
    • Client: NextJS + ReactJS
  • Hosting: - Firebase
  • Database: - Firestore
  • CI/CD : - Github Actions + Firebase integrated workflow-setup/deployment
  • Containerization: - Docker containers Find the image on docker hub here

Under progress

  • Features :

    • Enhancement in User/Platform interactivity.
      • Adding reviewing system feature to enable recommendation for:
        • Users (Tenant or Landlord).
        • Offers.
      • Enabling chat messaging feature.
    • Adding more user-role-specific features.
      • Ability to block and review other users based on interactions.
      • Filtering users not following the guidelines.
      • Adding a dashboard for tenants to track their listings and manage them more easily.
  • Technologies :

    • Adding containers + orchestration.
    • Creating data scrapers and setting up dashboards for admins (Using Prometheus and Grafana).