Prompt
Create a modern SaaS web application for real estate flipping (buy → renovate → sell properties).
## 🎨 Design & UI
- Clean, minimalistic, airy design
- Color palette: blue + white
- Support dark mode (user preference + system preference fallback)
- Use latest Material Design icons
- Horizontal top navigation
- Fully responsive (desktop first, mobile friendly)
- Use cards, soft shadows, rounded corners
- Clear visual hierarchy
- Include empty states, loading states, and success/error toast messages
---
## 🔐 Authentication
- Google login
- Email + password registration/login
- After first login, show onboarding:
- Option 1: Create new account
- Option 2: Join existing account via invite code
---
## 👥 Multi-user system
- Entities:
- Account (workspace)
- User
- Membership (role: admin / user)
- Rules:
- Max 10 users per account
- Admin:
- full access
- can approve/reject join requests
- can change roles
- User:
- read-only access (no create/edit/delete)
- Join flow:
- User enters invite code
- Status = pending
- Admin sees requests in Settings:
- Approve / Reject
- Manage active users
---
## 🧭 Navigation
Top menu:
1) Dashboard
2) Properties
3) Settings
---
## 🏠 Properties (Nemovitosti)
### Table
- Paginated table (25 rows per page)
- Search bar (search by property name)
- Sortable columns (only one active sort at a time)
### Columns:
- Name
- Type (house / apartment / land)
- City
- Layout (1+1, 1kk, 2+1, 2kk, 3+1, 3kk, 4+1, 4kk, 5+1, 5kk, 6kk+)
- Purchase date
- Sale date
- Purchase price
- Sale price
- Profit (badge: green/red, only if sold)
- Status (colored badge)
### Filters:
- Type
- Layout
- City (based on existing values)
- Purchase price (range slider)
- Sale price (range slider)
- Purchase date (date range)
- Sale date (date range)
- Include "Unspecified" values
### Actions:
- Edit (modal)
- Delete (confirmation modal)
- Click name → Property detail
### Export:
- Export selected rows to CSV
---
## ➕ Create / Edit Property
### Required:
- Name
### Optional:
- Type (enum)
- Layout (enum)
- City (text)
- Purchase price
- Purchase date
- Sale price
- Sale date
- Status (manual override possible)
- Photos (max 10)
- drag & drop
- reorder
- first = cover image
- Publish toggle (default false, no functionality yet)
---
## 🔄 Property Status Logic
Manual + automatic:
- If purchase date + price filled → "Purchased"
- If sale date + price filled → "Sold"
- Otherwise manual override allowed
Statuses:
- Tracked
- Purchased
- Reconstruction
- On market
- Sold
---
## 📄 Property Detail
Tabs:
### 1) Overview
- Read-only property data
- Photo gallery
### 2) Costs
#### Summary:
- Total cost
#### Table:
- Name
- Price
- Date
- Supplier
- Type (material / labor / services / combined)
- Note
- File attachment
#### Actions:
- Add cost (modal)
- Edit
- Delete (confirmation modal)
### Cost form:
- Required: name
- Optional:
- price (positive only)
- date
- supplier
- type
- note
- file upload
---
## 📊 Dashboard (Homepage)
### Date range picker:
- From / To (day precision)
- Option: "Today"
- Default: last 12 months (rolling)
- Persisted on backend per user
---
### KPI Cards:
- Total purchases
- Total costs
- Total sales
- Total profit (only sold properties)
- ROI %
- Number of purchases
- Number of sales
---
### Rules:
- Only SOLD properties count for:
- profit
- ROI
- sales metrics
- Unsold properties = excluded
---
### Chart:
- Line chart
- Aggregated by months
- Show:
- costs
- sales
---
## ⚙️ Settings
### Account:
- Invite code (copy button)
- User management:
- Pending requests
- Active users
- Role switching
- Remove user
### Preferences:
- Dark mode toggle (persisted backend)
- Currency:
- CZK / EUR
- Only formatting (no conversion)
---
## ⚡ UX Details
- Empty states (no properties, no costs, etc.)
- Success + error toast messages
- Confirmation dialogs for destructive actions
- Loading states
- Optimistic UI updates where appropriate
---
## 🧠 Data Model (implicit)
- Account
- User
- Membership
- Property
- Cost
---
## ⚙️ Performance
- Pagination (25 rows)
- Efficient filtering and sorting
---
Build this as a scalable SaaS foundation with clean component structure and reusable UI patterns.User Rating
No ratings yet. Be the first to rate!
Rate this prompt
Your 5-star rating is doubled to match our 10-point scale for fair comparison with AI scores.