Real Estate Management Application

A comprehensive real estate management system with property listings, user authentication, admin dashboard, and inquiry management.

Features

  • Property Management: Add, edit, delete, and view property listings
  • User Authentication: Secure login for agents and administrators
  • Property Search: Advanced search with filters for location, price, property type, etc.
  • Admin Dashboard: Manage properties, users, and inquiries
  • Responsive Design: Optimized for both mobile and desktop
  • Image Gallery: Multiple property images with gallery view
  • Contact Forms: Inquiry forms for potential clients
  • Favorites: Save favorite properties (for logged-in users)

Tech Stack

  • Frontend: React with TailwindCSS
  • Backend: Hono API framework on Val Town
  • Database: SQLite for data storage
  • Authentication: JWT-based authentication
  • Image Handling: Base64 encoding for demo purposes

Project Structure

├── backend/
│   ├── auth/
│   │   ├── auth.ts
│   │   └── middleware.ts
│   ├── controllers/
│   │   ├── propertyController.ts
│   │   ├── userController.ts
│   │   └── inquiryController.ts
│   ├── database/
│   │   ├── schema.ts
│   │   └── seed.ts
│   └── index.ts
├── frontend/
│   ├── components/
│   │   ├── common/
│   │   │   ├── Button.tsx
│   │   │   ├── Card.tsx
│   │   │   ├── Input.tsx
│   │   │   └── ...
│   │   ├── layout/
│   │   │   ├── Header.tsx
│   │   │   ├── Footer.tsx
│   │   │   └── Sidebar.tsx
│   │   ├── properties/
│   │   │   ├── PropertyCard.tsx
│   │   │   ├── PropertyDetails.tsx
│   │   │   ├── PropertyForm.tsx
│   │   │   └── ...
│   │   ├── auth/
│   │   │   ├── LoginForm.tsx
│   │   │   └── RegisterForm.tsx
│   │   └── dashboard/
│   │       ├── Dashboard.tsx
│   │       ├── PropertyManager.tsx
│   │       └── ...
│   ├── pages/
│   │   ├── HomePage.tsx
│   │   ├── PropertyListPage.tsx
│   │   ├── PropertyDetailPage.tsx
│   │   ├── LoginPage.tsx
│   │   ├── DashboardPage.tsx
│   │   └── ...
│   ├── context/
│   │   ├── AuthContext.tsx
│   │   └── ...
│   ├── utils/
│   │   ├── api.ts
│   │   └── helpers.ts
│   ├── index.html
│   └── index.tsx
└── shared/
    └── types.ts

Getting Started

  1. Access the application URL
  2. Browse property listings or search for specific properties
  3. Create an account to save favorites or contact property managers
  4. Admin users can log in to manage properties and inquiries

Admin Access

For demo purposes, use the following credentials: