Public
LikePaymentsys
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: v17View latest version
A Gen Z-style marketplace for second-hand trainers with integrated payment processing and feedback system.
- 🛒 Browse and purchase second-hand trainers
- 💳 Secure payment processing (Visa/Mastercard via Stripe)
- 📸 Admin area for posting trainers with photo links
- 💬 Customer feedback system
- 📱 Mobile-first responsive design
- 🎨 Gen Z aesthetic with vibrant colors and modern UI
├── backend/
│ ├── index.ts # Main Hono server
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ └── routes/
│ ├── trainers.ts # Trainer CRUD operations
│ ├── payments.ts # Stripe payment processing
│ └── feedback.ts # Customer feedback
├── frontend/
│ ├── index.html # Main page
│ ├── admin.html # Admin panel for posting trainers
│ ├── components/
│ │ ├── App.tsx # Main React app
│ │ ├── TrainerCard.tsx
│ │ ├── PaymentModal.tsx
│ │ └── FeedbackForm.tsx
│ └── style.css # Custom styles
└── shared/
└── types.ts # Shared TypeScript types
-
Set environment variables:
STRIPE_SECRET_KEY- Your Stripe secret keySTRIPE_PUBLISHABLE_KEY- Your Stripe publishable key
-
The database will be automatically initialized on first run.
- Backend: Hono + SQLite
- Frontend: React + TailwindCSS
- Payments: Stripe
- Storage: Val Town Blob + SQLite