jeffi
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.
A complete, responsive eCommerce website built with Hono backend and React frontend, styled with TailwindCSS.
- Homepage: Hero section, product categories, featured products, testimonials
- Product Catalog: Grid layout with filtering, sorting, and pagination
- Product Details: Image gallery, reviews, related products
- Shopping Cart: Item management with quantity controls
- Checkout: Complete order flow with address and payment forms
- Authentication: Login, signup, password recovery
- Responsive Design: Mobile-first approach with dark mode support
- Product Management: Add, edit, delete products
- Order Management: View and manage customer orders
- User Management: Customer account oversight
- Backend: Hono (TypeScript)
- Frontend: React 18.2.0 with TypeScript
- Database: SQLite
- Styling: TailwindCSS (Townie)
- Storage: Val Town Blob for product images
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Database schema
│ │ └── queries.ts # Database operations
│ ├── routes/
│ │ ├── auth.ts # Authentication routes
│ │ ├── products.ts # Product CRUD
│ │ ├── cart.ts # Cart operations
│ │ ├── orders.ts # Order management
│ │ └── admin.ts # Admin operations
│ └── index.ts # Main server entry
├── frontend/
│ ├── components/
│ │ ├── layout/ # Navigation, footer, layout
│ │ ├── pages/ # Page components
│ │ ├── ui/ # Reusable UI components
│ │ └── App.tsx # Main app component
│ ├── index.html # HTML template
│ └── index.tsx # Frontend entry point
└── shared/
├── types.ts # Shared TypeScript types
└── utils.ts # Shared utilities
- The backend serves the frontend and API endpoints
- SQLite database is automatically initialized
- Sample data is seeded on first run
- Access the site at the HTTP endpoint URL
GET /
- HomepageGET /api/products
- Product listing with filtersGET /api/products/:id
- Product detailsPOST /api/auth/login
- User authenticationPOST /api/cart
- Cart operationsPOST /api/orders
- Order placementGET /admin/*
- Admin dashboard (protected)