Public
Like
Plantswap
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v1View latest version
A community platform for sharing, donating, and exchanging plant cuttings, potted plants, and trees.
- 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
├── 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
- 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
The app is automatically deployed on Val Town. Visit the HTTP endpoint to start using the application.