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.
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).
Create a new user using your personal data.
After registeration, you will be redirected to the offers page.
After logging in successfully, you will be redicrected to the offers page.
To update your personal info, navigate to profile.
There you can:
- update your personal info, credentials and others there.
- Create offer (As a landlord)
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.
- 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
-
Features :
- Enhancement in User/Platform interactivity.
- Adding reviewing system feature to enable recommendation for:
- Users (Tenant or Landlord).
- Offers.
- Enabling chat messaging feature.
- Adding reviewing system feature to enable recommendation for:
- 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.
- Enhancement in User/Platform interactivity.
-
Technologies :
- Adding containers + orchestration.
- Creating data scrapers and setting up dashboards for admins (Using Prometheus and Grafana).