Welcome to Uthp RentHouse METN001! This modern rental property platform, built with Express.js, is designed to streamline the house-hunting experience by connecting property owners with potential tenants. Users can easily browse and communicate with property owners, while property owners manage listings and track tenant interactions.
This project leverages a range of technologies to ensure a seamless and secure experience:
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose for ODM
- Middleware: CORS, Morgan (logging), Multer (file uploads)
- Security: Bcrypt for password hashing
- Validation: Express Validator
- Templating: EJS (for server-side rendering)
- Session Management: Express Session
- Docker: Containerazation
Admins have comprehensive control over the platform:
- Manage Districts: Create and organize districts and areas.
- Property Categorization: Define property types and categories.
- Owner & Transaction Overview: Access lists of house owners, properties, and transaction records.
House owners can:
- Register and List Properties: Add properties to the platform.
- Update or Deactivate Listings: Easily modify or remove listings as needed.
- Manage Tenant Accounts: Create and manage tenant accounts after tenant confirmation.
- Handle Transactions: Keep track of rental payments and financial interactions.
Make sure you have the following installed:
Clone the repository and navigate into the project directory:
git clone https://github.com/saifakib/uthp-rentHouse-metn001.git
cd uthp-rentHouse-metn001
Install dependencies
npm install
Create a .env file in the root directory using .env.example as a template. Configure necessary environment variables. Run this application
npm start
For a Docker-based setup:
Build and run Build and run:
docker-compose up --build -d