{"id":50982867,"url":"https://github.com/javierez/domusaurea","last_synced_at":"2026-06-19T16:04:51.802Z","repository":{"id":365471983,"uuid":"1272165630","full_name":"javierez/domusaurea","owner":"javierez","description":"Website for Domus Aurea - Generated with Flexweb","archived":false,"fork":false,"pushed_at":"2026-06-17T12:35:23.000Z","size":867,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-17T14:23:27.351Z","etag":null,"topics":["flexweb","nextjs","real-estate","static-site","vercel","website"],"latest_commit_sha":null,"homepage":"https://domusaurea.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/javierez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-17T10:53:35.000Z","updated_at":"2026-06-17T12:35:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/javierez/domusaurea","commit_stats":null,"previous_names":["javierez/domusaurea"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/javierez/domusaurea","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javierez%2Fdomusaurea","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javierez%2Fdomusaurea/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javierez%2Fdomusaurea/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javierez%2Fdomusaurea/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/javierez","download_url":"https://codeload.github.com/javierez/domusaurea/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javierez%2Fdomusaurea/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34538480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flexweb","nextjs","real-estate","static-site","vercel","website"],"created_at":"2026-06-19T16:04:50.896Z","updated_at":"2026-06-19T16:04:51.796Z","avatar_url":"https://github.com/javierez.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Flexweb - Real Estate Website Template\n\nA Next.js template for generating real estate websites. Each generated site connects to a shared database and serves a specific account's data.\n\n## Tasks\n\n- [Property Subtype]\n- [SEO Optimization]\n- Define what happens when they ask for a property\n\n## Quick Start\n\n```bash\npnpm dev          # Start dev server\npnpm lint         # Run ESLint\npnpm typecheck    # TypeScript checking\npnpm build        # Production build\n```\n\n## Site Generation\n\nGenerate a deployable website for a specific account:\n\n```bash\n# Generate and deploy (full pipeline)\npnpm run generate-site -- --accountId \u003cid\u003e\n\n# Generate without deploying\npnpm run generate-site -- --accountId \u003cid\u003e --skip-deploy\n\n# Dry run (preview what would happen)\npnpm run generate-site -- --accountId \u003cid\u003e --dry-run\n\n# Skip GitHub integration\npnpm run generate-site -- --accountId \u003cid\u003e --skip-github\n```\n\n**Important:** Always use `--` before flags so pnpm passes them to the script.\n\n### What the generator does\n\n1. Extracts account data from the database\n2. Copies the template and configures it for the account\n3. Transforms static queries (hero, about, footer, SEO) to hardcoded data\n4. Regenerates `pnpm-lock.yaml` (package.json is modified)\n5. Pre-configures Vercel (links project, sets env vars)\n6. Pushes to GitHub (force pushes on re-generation)\n7. Deploys to Vercel\n\n### Required environment variables\n\nThe following must be set in your `.env` file before running the generator:\n\n```bash\n# Database (required)\nPOSTGRES_URL=\"postgresql://...\"\nDATABASE_URL=\"mysql://...\"\nSINGLESTORE_USER, SINGLESTORE_PASS, SINGLESTORE_DB, SINGLESTORE_HOST, SINGLESTORE_PORT\n\n# Account (required)\nNEXT_PUBLIC_ACCOUNT_ID=\"\u003cdefault-account-id\u003e\"\n\n# Google Maps (required by env validation)\nNEXT_PUBLIC_GOOGLE_MAPS_API_KEY=\"\u003cyour-api-key\u003e\"\n\n# Vercel deployment (required for deploy step)\nVERCEL_TEAM_SLUG=\"\u003cyour-vercel-team-slug\u003e\"\nVERCEL_ORG_ID=\"\u003cyour-vercel-org-id\u003e\"\n\n# AWS (optional, for S3 image uploads)\nAWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION, AWS_S3_BUCKET\n```\n\nSee `.env.example` for the full template.\n\n### Generated site output\n\nSites are generated to `~/generated-sites/\u003cname\u003e/`. Each site:\n- Has `unoptimized: true` for images (serves directly from S3)\n- Gets its own GitHub repo and Vercel project\n- Has `SKIP_ENV_VALIDATION=true` set on Vercel\n- Has all required env vars set via the Vercel API\n- Auto-deploys on git push via Vercel Git integration\n\n### Troubleshooting generation\n\n| Error | Cause | Fix |\n|-------|-------|-----|\n| `ERR_PNPM_OUTDATED_LOCKFILE` | Lockfile doesn't match modified package.json | Fixed automatically (lockfile regenerated during build) |\n| `Invalid environment variables` | Env vars not set on Vercel before build | Fixed automatically (preconfigure step runs before GitHub push) |\n| `INVALID_IMAGE_OPTIMIZE_REQUEST` | Next.js image optimization fails on S3 URLs | Fixed automatically (`unoptimized: true` set during build) |\n| `git push rejected` | Re-generating over existing repo | Fixed automatically (falls back to force push) |\n| `missing_scope` | Vercel CLI needs team scope | Set `VERCEL_TEAM_SLUG` in `.env` |\n\n## Project Structure\n\n```\nsrc/\n├── app/                    # Next.js App Router pages\n│   ├── propiedades/       # Property pages\n│   ├── contacto/          # Contact page\n│   └── vender/            # Selling workflow\n├── components/            # React components\n│   ├── ui/               # shadcn/ui base components\n│   ├── property/         # Property-related components\n│   └── layout/           # Layout components\n├── server/               # Server-side logic\n│   ├── db/              # Drizzle ORM schema\n│   ├── queries/         # Database queries\n│   └── portals/         # External integrations\n└── lib/                 # Utilities \u0026 helpers\n\nscripts/\n└── generate-site/        # Site generation pipeline\n    ├── index.ts          # CLI entry point\n    ├── data-extractor.ts # Extracts account data from DB\n    ├── project-builder.ts# Copies template, configures project\n    ├── code-transformer.ts# Transforms queries to static data\n    ├── github.ts         # GitHub repo creation \u0026 push\n    ├── deployer.ts       # Vercel deployment \u0026 env vars\n    └── utils.ts          # Shared utilities\n```\n\n## Tech Stack\n\n- **Next.js 15** with App Router (React 19)\n- **TypeScript** (strict mode)\n- **Tailwind CSS** + shadcn/ui\n- **Drizzle ORM** with MySQL/SingleStore + Supabase PostgreSQL\n- **Vercel** for hosting\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavierez%2Fdomusaurea","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjavierez%2Fdomusaurea","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavierez%2Fdomusaurea/lists"}