This website is built for a real estate company for listing details on properties available for sale and inquiry.
BT Real Estate is a real estate company with properties listed on this website. Each listing shows several images of the property along with details on the house, as well as the agent assigned to the property and available to inquire about the listing. Users may inquire as guest users or register and log in to the website and manage their inquiries in their user dashboard.
- Python
- Django framework for administrative backend
- PostgreSQL database
- Bootstrap 4 theme for design
- deployed to DigitalOcean
- domain name from Namecheap
The top bar contains info about the company, including contact phone number, contact email, and icon links to socials.
The header contains the navbar for pages: Home, About, and Featured Listings on the left. On the right, users who are not logged in can navigate to the Login page or the page to Register as a new user.
The top of the main home page shows a search field form for users, guest or registered, to search the available properties by keyword or phrase, city, US state or territory, number of bedrooms, and maximum price.
Below the search form are some of the latest listings available, with some main details and a "More Info" button to see the individual listing page.
At the bottom of the home page there is some more information about BT Real Estate and its services.
The About page states the company's mission and objective, and includes a sidebar of the featured VIP employee/agent with a photo, name, and a short bio.
The Featured Listings display the latest listings, in order from most recent to earliest. Each listing has a "More Info" button to view more details and inquire about the listing.
Pagination on the featured listings page allows for 3 listings to show at any given time, and users may navigate the listings and see more by clicking either on the page number of one of the arrows on either side.
Users log in by entering their username and password.
Registration requires users enter their first name, last name, username (if available), a valid email address, and a password.
Once a user has logged in, the navbar on the right changes to allow the user to go to their dashboard or logout.
The user dashboard is for managing and tracking details about listing inquiries the user has made.
Featured listings show a main photo, the listing title or address, square feet, number of garages, number of bedrooms, number of bathrooms, the real estate agent listing the property, and how long ago the listing went up. To learn more about the listing, there is a "More Info" button at the bottom.
Individual listing pages show more photos that can be viewed as a carousel.
More details are displayed, along with a description on the property.
Under the listing's real estate agent is a button to "Make an Inquiry". When clicked, an inquiry modal pops up with some information filled in, depending on the listing page the user is on. If the user is registered and logged in, the "Name" and "Email" fields are also filled in with their information. Users can write a message in the textbox and submit the inquiry. The inquiry is then emailed to that listing's agent and the property owner or landlord, and the inquiry is logged in the admin dashboard.
If a logged in user has already made an inquiry on a particular property, a notification tells the user they have already sent an inquiry on this listing, and does not send the duplicate inquiry.
- Background images for the home page and the about page are not working/loading
Author: Emily Knott
This project was built as part of Traversy Media's Python course: Python Django Dev to Deployment