Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gardenwise

Gardenwise is a personal garden journal and planning application for keeping track of what is growing, what needs attention, and what the garden produces. It brings plantings, growing areas, care tasks, observations, and harvests into one simple mobile-friendly workspace.

The project is designed for home and backyard gardeners. Its current focus is a useful local experience and thoughtful garden workflows rather than production infrastructure or commercial farm management.

Features

  • Account registration, sign-in, and editable profile settings
  • Multiple gardens with beds, containers, rows, and greenhouse areas
  • Planting records with crop, variety, quantity, method, and lifecycle status
  • A focused Today view for overdue and upcoming work
  • Garden tasks that can be created and completed
  • An activity journal for watering, feeding, pruning, pests, and notes
  • Harvest records with dates, quantities, and original measurement units
  • Garden-level access isolation
  • Responsive navigation with dedicated application routes

Screens

Route Purpose
/today Current tasks, active plantings, and upcoming harvests
/garden Growing areas, planting filters, and lifecycle management
/journal Chronological garden activity and observations
/harvests Harvest history and quantities
/settings Profile information and sign-out

Technology

Backend

  • Python 3.12
  • FastAPI and Pydantic
  • SQLAlchemy 2 with async sessions
  • PostgreSQL
  • JWT authentication
  • pytest and Ruff

Frontend

  • Nuxt 4 and Vue 3
  • TypeScript
  • shadcn-vue
  • Tailwind CSS 4
  • Reka UI and Lucide icons

Run with Docker

Copy the example environment and start the complete stack:

cp .env.example .env
docker compose up --build

Open:

PostgreSQL data is stored in the garden_data Docker volume. Stop the application with:

docker compose down

Local development

Backend

Python 3.12 or newer is required.

cd backend
python3.12 -m venv .venv
.venv/bin/pip install -e ".[dev]"
DATABASE_URL=sqlite+aiosqlite:///./garden.db .venv/bin/uvicorn app.main:app --reload

Run backend checks:

.venv/bin/pytest
.venv/bin/ruff check .
.venv/bin/ruff format --check .

Frontend

cd frontend
npm install
npm run dev

Run frontend checks:

npm run typecheck
npm run build

Set NUXT_PUBLIC_API_BASE when the API is not available at http://localhost:8000/api/v1.

Project structure

backend/
  app/
    api/routes/       FastAPI route modules
    models.py         SQLAlchemy domain models
    schemas.py        API request and response schemas
  tests/              API workflow and isolation tests
frontend/
  app/
    components/       Feature and shadcn-vue components
    composables/      Session and API access
    pages/            Nuxt routes
docs/
  design-checklist.md
  roadmap.md

Product direction

Gardenwise is an evolving personal project. Potential next features include seed inventory, seasonal planting plans, garden photos, recurring tasks, weather-aware reminders, and harvest summaries.

See the roadmap for the current feature ideas and the design checklist for interface quality standards.

Contributing

Small improvements and experiments are welcome. Keep garden-owned queries scoped through an authenticated membership, preserve historical activities as append-only records, and run the relevant backend and frontend checks before committing.

About

A modern, mobile-friendly garden journal for tracking plantings, care tasks, observations, growing areas, and harvests.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages