Groei is a self-hosted application designed to help gardeners manage their vegetable gardens. Use it in the garden from your phone to decide what to plant where, or from your laptop to manage your seed inventory and plan your garden layout.
- π± Seed Inventory Management: Track your seeds, their varieties, and planting schedules
- π‘ Garden Bed Planning: Design and manage your garden beds and layouts
- π± Mobile-First Design: Optimized for use on phones while in the garden
- π₯οΈ Desktop Management: Comprehensive management interface for planning and data entry
- π Planting Calendar: Schedule your planting based on seasonal requirements
- π Data Visualization: Visualize your garden layout and planting history
- React with TypeScript
- TanStack Router for routing
- TanStack Query for data fetching
- Zustand for state management
- Tailwind CSS with ShadCN UI components
- Vite for build tooling
- Progressive Web App (PWA) capabilities
- Deno runtime
- Hono for API framework
- Drizzle ORM
- SQLite database
- NX monorepo with PNPM package management
- GitHub Actions for CI/CD
βββ apps/
β βββ backend/ # Deno Hono API with Drizzle ORM
β βββ frontend/ # React app with TanStack Router
βββ libs/
β βββ common/ # Shared types, utilities, and constants
- Node.js (v20.11.1 or higher)
- PNPM (v8.14.0 or higher)
- Deno (latest version)
-
Clone the repository
git clone https://github.com/yourusername/groei.git cd groei -
Install dependencies
pnpm install
-
Set up the database
cd apps/backend pnpm run db:generate pnpm run db:push pnpm run db:seed # Optional: seed with sample data
-
Start the development environment
cd ../.. # Return to root directory pnpm run dev
pnpm run buildpnpm start- Use functional components with React hooks
- Prefer TypeScript interfaces over types when appropriate
- Follow the established file/folder naming conventions
- Use TanStack Query for data fetching
- SVG icons for vegetables and garden elements
- Creating new components in the shared library
- Adding API endpoints on the backend
- Implementing mobile-responsive UI features
- Building data visualization for garden layouts
Janek Ozga (iam@janekozga.nl)
