Skip to content
/ velozcf Public

Real Estate Sales Platform based on React.js and a PHP-based REST API. Enables property listings, and digital document signing through secure external integrations.

Notifications You must be signed in to change notification settings

ETVO/velozcf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏑 VelozCF - Real Estate Sales Platform

A full-featured real estate sales application for fractional ownership properties (cotas), featuring a React.js frontend, custom PHP REST API, and integration with Clicksign for digital contract signatures.

🎯 Overview

VelozCF is a comprehensive sales platform built for CF NegΓ³cios, enabling real estate agents to manage property listings, create purchase proposals, and process digital contracts. The system handles fractional ownership sales (sistema de cotas), where properties are divided into shares that can be purchased individually or in packages.

The platform features separate interfaces for customers (frontend) and administrators (admin panel), with a custom REST API backend handling all business logic and external integrations.

✨ Key Features

Customer-Facing Frontend

  • Property Listings - Browse available real estate developments (empreendimentos)
  • Detailed Property Views - View cabins/units with image galleries, maps, and pricing
  • Purchase Proposals - Multi-step proposal creation with buyer information
  • Digital Signatures - Automatic contract generation via Clicksign integration
  • Responsive Design - Mobile-friendly interface for on-the-go sales

Admin Dashboard

  • Proposal Management - Review, approve, and track purchase proposals
  • Property Management - Create and manage developments, cabins, and cotas (shares)
  • User Management - Manage sales agents, real estate agencies, and representatives
  • Image Management - Upload and organize property photos
  • Settings & Configuration - System-wide settings and contract signatories

Backend & API

  • RESTful API - Clean, organized endpoints for all resources
  • Authentication - Secure login system with session management
  • Clicksign Integration - Automated contract generation and digital signature workflow
  • Email Notifications - Automated emails for contract signatures and updates
  • Database Design - Comprehensive MySQL schema with proper relationships

πŸ—οΈ Architecture

Three-Tier Application

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Frontend       │────▢│  REST API       │────▢│  MySQL DB       β”‚
β”‚  (React.js)     β”‚     β”‚  (PHP)          β”‚     β”‚                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                               β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  Admin Panel    β”‚
                        β”‚  (React.js)     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
                               β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚  Clicksign API  β”‚
                        β”‚  (External)     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Frontend (Customer Interface)

  • React.js - Component-based UI
  • React Router - Client-side routing
  • Bootstrap 5 - Responsive styling
  • SCSS - Enhanced CSS with variables and mixins

Admin Panel

  • React.js - Modern admin interface
  • React Bootstrap - UI components
  • React Router v6 - Navigation
  • Moment.js - Date formatting
  • React Input Mask - Form input formatting
  • MD5 - Password hashing

Backend API

  • PHP - Native PHP (no framework)
  • Custom REST API - Hand-built RESTful architecture
  • MySQL - Relational database
  • OOP Design - Object-oriented models and controllers
  • Clicksign API - Digital signature integration
  • PHPMailer - Email notifications

πŸ“Š Data Models

Core Entities

  • Empreendimentos (Developments) - Real estate projects
  • Cabanas (Cabins/Units) - Individual properties within developments
  • Cotas (Shares) - Fractional ownership shares
  • Propostas (Proposals) - Purchase proposals from buyers
  • Users - Sales agents and administrators
  • Imobiliarias (Agencies) - Real estate agencies
  • Pagamentos (Payments) - Payment terms and pricing

API Endpoints

/api/auth/              # Authentication
  - login.php
  - logout.php

/api/empreendimentos/   # Property developments
  - create.php
  - read.php
  - read_single.php
  - update.php
  - delete.php

/api/propostas/         # Purchase proposals
  - create.php
  - read.php
  - update.php
  - approve.php
  - clicksign.php

/api/users/             # User management
/api/cabanas/           # Cabin/unit management
/api/cotas/             # Share management
/api/imobiliarias/      # Agency management
/api/imagens/           # Image uploads
/api/configs/           # System settings

πŸ” Clicksign Integration

The platform integrates with Clicksign for automated contract management:

  1. Proposal Approval - When admin approves a proposal
  2. Document Generation - Creates contract from template with buyer data
  3. Signer Creation - Adds all parties (buyer, seller, witnesses, representatives)
  4. Email Notification - Automatic signature request emails
  5. Status Tracking - Monitors signature completion

Supports two contract types:

  • Agency Model - When seller is associated with a real estate agency
  • Independent Model - For autonomous sellers

πŸš€ Running This Project

Prerequisites

  • PHP 7.4+
  • MySQL 5.7+
  • Node.js 14+ and npm
  • Apache/Nginx web server
  • Clicksign account (for signature functionality)

Installation

# Clone the repository
git clone https://github.com/ETVO/velozcf.git
cd velozcf

# Configure database
# Edit config/Database.php with your MySQL credentials

# Import database schema
mysql -u username -p database_name < config/sql/schema.sql

# Install frontend dependencies
cd frontend
npm install
npm run build

# Install admin dependencies
cd ../admin
npm install
npm run build

# Configure web server to point to project root
# Ensure API endpoints are accessible

Development Mode

# Frontend development server
cd frontend
npm start
# Runs on http://localhost:3000

# Admin development server
cd admin
npm start
# Runs on http://localhost:3001 (or next available port)

Configuration

  1. Database: Update /config/Database.php with credentials
  2. Clicksign: Update API tokens in /config/Clicksign.php
  3. Email: Configure SMTP settings in /config/Email.php
  4. URLs: Update homepage URLs in package.json files

πŸ“ Project Structure

velozcf/
β”œβ”€β”€ frontend/               # Customer-facing React app
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/         # Main pages
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”‚   β”œβ”€β”€ hooks/         # Custom React hooks
β”‚   β”‚   └── helpers/       # Utility functions
β”‚   └── public/            # Static assets
β”œβ”€β”€ admin/                  # Admin panel React app
β”‚   └── src/
β”‚       β”œβ”€β”€ pages/         # Admin pages
β”‚       └── components/    # Admin components
β”œβ”€β”€ api/                    # REST API endpoints
β”‚   β”œβ”€β”€ auth/              # Authentication
β”‚   β”œβ”€β”€ empreendimentos/   # Developments
β”‚   β”œβ”€β”€ propostas/         # Proposals
β”‚   β”œβ”€β”€ users/             # Users
β”‚   └── ...                # Other resources
β”œβ”€β”€ models/                 # PHP data models
β”‚   β”œβ”€β”€ Proposta.php
β”‚   β”œβ”€β”€ Empreendimento.php
β”‚   β”œβ”€β”€ User.php
β”‚   └── ...
β”œβ”€β”€ config/                 # Configuration files
β”‚   β”œβ”€β”€ Database.php
β”‚   β”œβ”€β”€ Clicksign.php
β”‚   β”œβ”€β”€ Email.php
β”‚   └── sql/               # Database schemas
└── public/                 # Public assets
    └── maps/              # Map images

πŸŽ“ Technical Highlights

Custom REST API Design

Built a complete REST API from scratch without frameworks, implementing:

  • Consistent endpoint structure
  • JSON request/response handling
  • Authentication middleware
  • CORS headers
  • Error handling and validation

External API Integration

Implemented complex Clicksign workflow:

  • Document template population
  • Multi-party signature orchestration
  • Webhook handling
  • Error recovery

React Architecture

  • Component composition patterns
  • Custom hooks for API calls
  • Routing with protected routes
  • Form state management
  • Responsive design principles

πŸ’Ό Business Value

This platform streamlines the real estate sales process by:

  • Reducing proposal processing time from hours to minutes
  • Eliminating paper contracts with digital signatures
  • Providing real-time proposal tracking
  • Enabling remote sales operations
  • Maintaining detailed audit trails

πŸ‘€ Author

EstevΓ£o Pereira Rolim - @ETVO | LinkedIn

Full Stack Developer | 8 years of experience

Built as a production application for CF NegΓ³cios, demonstrating full-stack development capabilities with React.js frontend and custom PHP REST API.


Production real estate sales platform with React.js, custom PHP REST API, and Clicksign integration.

README created in collaboration with Claude AI.

About

Real Estate Sales Platform based on React.js and a PHP-based REST API. Enables property listings, and digital document signing through secure external integrations.

Topics

Resources

Stars

Watchers

Forks