A comprehensive web platform for homeowners selling properties online.
PropertyWeb (also referred to as "HomeFlow" in the UI) is a web-based platform designed to guide homeowners through the entire process of selling their property online. It leverages modern technology and AI to streamline steps like property evaluation, ad creation, and listing, while providing resources for preparation, legal aspects, and post-sale activities.
- Property Evaluation: Multi-step questionnaire for property valuation
- Process Overview & Initial Setup: Selling journey explanation and preliminary information gathering
- Property Preparation: Guides, checklists, and AI-assisted ad text generation
- Listing & Photos: Photo management and listing review
- Notary Information: Resources about the notary process (Estonia-focused)
- After Sale Guidance: Post-sale checklists and moving guidance
- Dashboard: Central hub for monitoring progress
- CRM: Management of buyer inquiries
- Knowledge Base: Detailed help articles and guides
- Framework: Next.js
- Language: TypeScript
- UI Framework: React
- Database: PostgreSQL
- ORM: Prisma
- AI Integration: OpenAI
- Listing Integration: Exportable data for listing platforms
The project follows a vertical slice architecture where features are organized into cohesive units.
- See PLANNING.md for the detailed project structure and architecture decisions.
- See DATABASE.md for comprehensive database configuration and management.
- Node.js (v18+)
- npm or yarn
- Access to a PostgreSQL database (local or remote)
- Clone the repository
git clone [repository-url]
cd PropertyWeb- Install dependencies
npm install
# or
yarn- Copy environment variables template and configure
cp .env.example .env.local- Set up the database
You have two options for database configuration:
Option 1: Connect to a local PostgreSQL database
# In your .env file:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/propertyweb?schema=public"
# Then run migrations:
npx prisma migrate devOption 2: Connect to a remote PostgreSQL database (e.g., on a VPS)
# In your .env file:
DATABASE_URL="postgresql://username:password@your-server-address:5432/propertyweb?schema=public"
# Then run migrations:
npx prisma migrate devTo check your database connection:
node scripts/db-test.js- Run the development server
npm run dev
# or
yarn dev- Open http://localhost:3000 in your browser
-
Follow the Golden Rules:
- Keep files under 500 lines
- Write documentation and comments alongside code
- Use markdown files for project management (README.md, PLANNING.md, TASKS.md)
-
Implement new features as vertical slices
-
Write tests for critical functionality
-
Follow the TypeScript best practices
This project is configured for easy deployment to Vercel. We provide multiple methods for deployment:
node deploy-with-mcp.jsThis interactive script uses the Vercel MCP integration to deploy your application and connect to your existing database. It provides a streamlined deployment experience with enhanced features.
node deploy.jsThis interactive script will guide you through the standard deployment process, including setting up your database connection and deploying to Vercel.
For detailed instructions on manually deploying to Vercel, see DEPLOYMENT.md.
- Create a PostgreSQL database (or use your existing one from DATABASE.md)
- Get a Vercel API token from Vercel Account Settings
- Run the MCP deployment script:
node deploy-with-mcp.js - Follow the prompts to complete the deployment
[Specify the license here]