{"id":39971392,"url":"https://github.com/luandro/agroforrest-patch-planner","last_synced_at":"2026-01-18T22:10:57.856Z","repository":{"id":325566753,"uuid":"1002411654","full_name":"luandro/agroforrest-patch-planner","owner":"luandro","description":null,"archived":false,"fork":false,"pushed_at":"2025-11-22T03:31:10.000Z","size":1165,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-22T05:25:15.235Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/luandro.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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-06-15T12:23:55.000Z","updated_at":"2025-11-22T02:56:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/luandro/agroforrest-patch-planner","commit_stats":null,"previous_names":["luandro/agroforrest-patch-planner"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/luandro/agroforrest-patch-planner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fagroforrest-patch-planner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fagroforrest-patch-planner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fagroforrest-patch-planner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fagroforrest-patch-planner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luandro","download_url":"https://codeload.github.com/luandro/agroforrest-patch-planner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luandro%2Fagroforrest-patch-planner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28552526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T20:59:07.572Z","status":"ssl_error","status_checked_at":"2026-01-18T20:59:02.799Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-01-18T22:10:57.135Z","updated_at":"2026-01-18T22:10:57.849Z","avatar_url":"https://github.com/luandro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AgroForrest Patch Planner\n\nA comprehensive planning tool for designing and managing agroforestry systems in Brazil. This application helps users create, visualize, and manage agroforestry patches with intelligent species selection and spatial planning.\n\n## Features\n\n- **Interactive Patch Designer**: Visual canvas-based interface for creating and arranging agroforestry patches\n- **Species Management**: Comprehensive database of Brazilian native and agricultural species\n- **Intelligent Planning**: Automated suggestions for companion planting and spatial arrangements\n- **Dashboard**: Track and manage multiple patches across your property\n- **Responsive Design**: Works seamlessly on desktop and mobile devices\n\n## Technology Stack\n\nThis project is built with modern web technologies:\n\n- **React 18** - UI framework\n- **TypeScript** - Type-safe development\n- **Vite** - Fast build tool and dev server\n- **Tailwind CSS** - Utility-first styling\n- **shadcn/ui** - High-quality component library\n- **Zustand** - State management\n- **React Query** - Data fetching and caching\n- **Vitest** - Unit testing framework\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+ (recommended: install with [nvm](https://github.com/nvm-sh/nvm#installing-and-updating))\n- npm or bun package manager\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/luandro/agroforrest-patch-planner.git\n\n# Navigate to the project directory\ncd agroforrest-patch-planner\n\n# Install dependencies\nnpm install\n\n# Start the development server\nnpm run dev\n```\n\nThe application will be available at `http://localhost:8080`\n\n## Available Scripts\n\n- `npm run dev` - Start development server with hot reload\n- `npm run build` - Build for production\n- `npm run build:dev` - Build in development mode\n- `npm run preview` - Preview production build locally\n- `npm run lint` - Run ESLint\n- `npm test` - Run tests\n- `npm run test:ui` - Run tests with UI\n- `npm run test:coverage` - Generate test coverage report\n\n## Project Structure\n\n```\nagroforrest-patch-planner/\n├── src/\n│   ├── components/     # Reusable UI components\n│   ├── pages/          # Page components\n│   ├── lib/            # Utilities and helpers\n│   ├── hooks/          # Custom React hooks\n│   ├── stores/         # Zustand state stores\n│   └── types/          # TypeScript type definitions\n├── context/            # Architecture documentation\n├── public/             # Static assets\n└── ...config files\n```\n\n## Development\n\n### Architecture Documentation\n\nFor detailed information about the codebase architecture, see:\n- `AGENTS.md` - Contributor norms and quick reference\n- `context/` - Module-specific documentation\n\n### Testing\n\nRun the test suite with:\n\n```bash\nnpm test\n```\n\nGenerate coverage reports:\n\n```bash\nnpm run test:coverage\n```\n\n## Deployment\n\nThe application supports deployment to multiple platforms (Vercel, GitHub Pages, etc.) with automatic base path configuration.\n\n### Base Path Configuration\n\nThe app uses the `VITE_BASE_PATH` environment variable to configure the base URL:\n- **Vercel/Netlify**: Deploys at root `/` (default, no env var needed)\n- **GitHub Pages**: Deploys at `/agroforrest-patch-planner/` (set `VITE_BASE_PATH=/agroforrest-patch-planner/`)\n\n### GitHub Pages Deployment\n\nAutomatic deployment is configured via GitHub Actions. To enable:\n\n1. Update `.github/workflows/deploy.yml` build step to include:\n```yaml\n- name: Build\n  run: npm run build\n  env:\n    VITE_BASE_PATH: /agroforrest-patch-planner/\n```\n\n2. Enable GitHub Pages in repository Settings → Pages → Source: \"GitHub Actions\"\n\nThe site will be available at: `https://luandro.github.io/agroforrest-patch-planner/`\n\n### Vercel Deployment\n\nNo additional configuration needed. Simply connect your repository to Vercel and deploy.\n\n### Manual Deployment\n\n```bash\n# Build for production (uses default base path '/')\nnpm run build\n\n# Build for GitHub Pages\nVITE_BASE_PATH=/agroforrest-patch-planner/ npm run build\n\n# The dist/ folder contains the production-ready files\n```\n\n## Contributing\n\n1. Create a feature branch from `main`\n2. Make your changes\n3. Ensure tests pass and coverage meets thresholds\n4. Run `npm run lint` to check for issues\n5. Submit a pull request\n\n## License\n\n[Add your license information here]\n\n## Contact\n\nFor questions or support, please open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Fagroforrest-patch-planner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluandro%2Fagroforrest-patch-planner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluandro%2Fagroforrest-patch-planner/lists"}