mirror of
https://github.com/SamyRai/turash.git
synced 2025-12-26 23:01:33 +00:00
Repository Structure:
- Move files from cluttered root directory into organized structure
- Create archive/ for archived data and scraper results
- Create bugulma/ for the complete application (frontend + backend)
- Create data/ for sample datasets and reference materials
- Create docs/ for comprehensive documentation structure
- Create scripts/ for utility scripts and API tools
Backend Implementation:
- Implement 3 missing backend endpoints identified in gap analysis:
* GET /api/v1/organizations/{id}/matching/direct - Direct symbiosis matches
* GET /api/v1/users/me/organizations - User organizations
* POST /api/v1/proposals/{id}/status - Update proposal status
- Add complete proposal domain model, repository, and service layers
- Create database migration for proposals table
- Fix CLI server command registration issue
API Documentation:
- Add comprehensive proposals.md API documentation
- Update README.md with Users and Proposals API sections
- Document all request/response formats, error codes, and business rules
Code Quality:
- Follow existing Go backend architecture patterns
- Add proper error handling and validation
- Match frontend expected response schemas
- Maintain clean separation of concerns (handler -> service -> repository)
122 lines
3.1 KiB
JSON
122 lines
3.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://cityresourcegraph.com/schemas/site.json",
|
|
"title": "Site Entity",
|
|
"description": "Physical location/building representation",
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"description": "Unique site identifier"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 255,
|
|
"description": "Site name (e.g., 'Main Factory', 'Warehouse A')"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"maxLength": 1000,
|
|
"description": "Full street address"
|
|
},
|
|
"latitude": {
|
|
"type": "number",
|
|
"minimum": -90,
|
|
"maximum": 90,
|
|
"description": "WGS84 latitude coordinate"
|
|
},
|
|
"longitude": {
|
|
"type": "number",
|
|
"minimum": -180,
|
|
"maximum": 180,
|
|
"description": "WGS84 longitude coordinate"
|
|
},
|
|
"site_type": {
|
|
"type": "string",
|
|
"enum": ["industrial", "office", "warehouse", "retail", "mixed"],
|
|
"description": "Primary site usage type"
|
|
},
|
|
"floor_area_m2": {
|
|
"type": "number",
|
|
"minimum": 1,
|
|
"maximum": 1000000,
|
|
"description": "Total floor area in square meters"
|
|
},
|
|
"ownership": {
|
|
"type": "string",
|
|
"enum": ["owned", "leased", "shared"],
|
|
"description": "Ownership status"
|
|
},
|
|
"owner_business_id": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"description": "Business that owns this site"
|
|
},
|
|
"operating_businesses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"description": "Businesses that operate at this site (for multi-tenant buildings)"
|
|
},
|
|
"available_utilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["electricity", "gas", "water", "wastewater", "heating", "cooling"]
|
|
},
|
|
"uniqueItems": true,
|
|
"description": "Available utility connections"
|
|
},
|
|
"parking_spaces": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 10000,
|
|
"description": "Number of parking spaces"
|
|
},
|
|
"loading_docks": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 1000,
|
|
"description": "Number of loading docks"
|
|
},
|
|
"crane_capacity_tonnes": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1000,
|
|
"description": "Maximum crane capacity in tonnes"
|
|
},
|
|
"energy_rating": {
|
|
"type": "string",
|
|
"maxLength": 100,
|
|
"description": "Energy certification (LEED, BREEAM, etc.)"
|
|
},
|
|
"waste_management": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 255
|
|
},
|
|
"description": "Available waste management facilities"
|
|
},
|
|
"environmental_impact": {
|
|
"type": "string",
|
|
"maxLength": 2000,
|
|
"description": "Environmental impact assessment summary"
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "name", "latitude", "longitude"],
|
|
"additionalProperties": false
|
|
}
|