Plant Exchange App

A community platform for sharing, donating, and exchanging plant cuttings, potted plants, and trees.

Features

  • User Profiles: Create and manage personal profiles with contact information
  • Plant Listings: Upload photos and details of plants available for donation/exchange
  • Messaging System: Direct communication between users for coordinating exchanges
  • Plant Categories: Support for cuttings, potted plants, and trees
  • Search & Browse: Find plants by type, location, or availability

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema setup
│   │   └── queries.ts       # Database query functions
│   ├── routes/
│   │   ├── auth.ts         # User authentication
│   │   ├── plants.ts       # Plant CRUD operations
│   │   ├── messages.ts     # Messaging system
│   │   └── static.ts       # Static file serving
│   └── index.ts            # Main Hono app entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx         # Main app component
│   │   ├── Profile.tsx     # User profile management
│   │   ├── PlantCard.tsx   # Plant listing display
│   │   ├── PlantForm.tsx   # Add/edit plant form
│   │   └── Messages.tsx    # Messaging interface
│   ├── index.html          # Main HTML template
│   └── index.tsx           # Frontend entry point
└── shared/
    └── types.ts            # Shared TypeScript types

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Database: SQLite with Val Town's sqlite service
  • Frontend: React with TypeScript
  • Styling: TailwindCSS
  • Storage: Val Town blob storage for images
  • Authentication: Simple session-based auth

Getting Started

The app is automatically deployed on Val Town. Visit the HTTP endpoint to start using the application.