Qrent
Website: www.qrent.rent
Qrent is an AI-powered rental platform built for international students in Australia. It helps students find housing smarter and faster by analyzing commute time, budget, and area data to recommend the most suitable rentals — all in one place.
🌟 Key Features
AI-Based Recommendations: Personalized rental suggestions based on commute, budget, and lifestyle.
Smart Filters: Instantly narrow down listings with intelligent search and filter options.
All-in-One Experience: Compare, shortlist, and book — without switching platforms.
Local Insights: Understand each suburb’s pros and cons with data-driven summaries.
🚀 Mission
To make renting in Australia simple, transparent, and data-driven — empowering international students to find a real home faster.
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
QRent is a rental property management system with a Node.js backend.
- Node.js (v16+)
- Docker and Docker Compose
- pnpm
git clone https://github.com/yourusername/qrent.git
cd qrent- Create your environment configuration:
- Locate the
.env.examplefile in the project root - Make a copy and rename it to
.env - Update the following values according to your setup:
DATABASE_URL: Your MySQL connection stringJWT_SECRET: A secure random string for authenticationPORT: The port for the backend server (default: 3200)
- Locate the
-
Setup Docker Environment:
- Install Docker Desktop for your operating system
- Install the Docker extension for VSCode for better container management
- Ensure Docker Compose is installed (comes with Docker Desktop)
-
Configure for Development Mode:
- Edit the
startup.shfile in the project root - Replace the last line:
# Change this line: exec pnpm --filter @qrent/backend start # To this for development mode with hot reloading: exec pnpm --filter @qrent/backend dev
- Edit the
-
Start the Development Environment:
- In the project root directory, run:
docker compose up
- Alternatively, open the docker-compose.yml file in VSCode and click the "Run" button
- The first build may take several minutes as it installs dependencies
- In the project root directory, run:
-
Monitor the Application:
- View logs in real-time with:
docker logs -f qrent-backend
- The backend will be available at http://localhost:3200
- View logs in real-time with:
-
Development Workflow:
- Any changes to your code will automatically trigger a restart of the server
- The container mounts your local files, so changes are reflected immediately
- API endpoints can be tested while the container is running
-
Database Setup:
- Install MySQL 8.0+ locally or run it in a Docker container:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=qrent -p 3306:3306 -d mysql:8
- Install MySQL 8.0+ locally or run it in a Docker container:
-
Install Dependencies:
- Navigate to the project root:
cd qrent - Install all workspace packages:
pnpm install
- When prompted, allow post-install scripts to run
- Navigate to the project root:
-
Database Initialization:
- Generate Prisma client:
cd packages/shared pnpm db:generate - Apply database schema:
pnpm db:push
- Generate Prisma client:
-
Start the Development Server:
- From the project root:
pnpm --filter @qrent/backend dev
- The server will start on http://localhost:3200
- From the project root:
We follow the Conventional Commits specification for our commit messages. This leads to more readable messages that are easy to follow when looking through the project history.
Each commit message consists of a header, a body, and a footer: