PetWebsite
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: v6View latest version
A comprehensive platform for pet adoption, grooming services, veterinary care, and pet supplies.
- Register pets for adoption
- Browse available pets
- Adoption application process
- Pet profiles with photos and details
- Book grooming appointments
- Service packages (basic, premium, deluxe)
- Groomer profiles and availability
- Service history tracking
- Schedule vet appointments
- Health records management
- Vaccination tracking
- Emergency contact information
- Browse and purchase pet supplies
- Categories: Food, Toys, Accessories, Health
- Shopping cart and checkout
- Order tracking
- User registration and authentication
- Pet owner profiles
- Adoption history
- Service booking history
- Manage pet listings
- Approve adoption applications
- Manage service providers
- Analytics dashboard
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema
β β βββ queries.ts # Database operations
β βββ routes/
β β βββ auth.ts # Authentication routes
β β βββ pets.ts # Pet management
β β βββ services.ts # Grooming/vet services
β β βββ store.ts # Pet supplies store
β β βββ static.ts # Static file serving
β βββ index.ts # Main server entry
βββ frontend/
β βββ components/
β β βββ App.tsx # Main app component
β β βββ Navigation.tsx # Navigation bar
β β βββ PetCard.tsx # Pet display component
β β βββ ServiceCard.tsx # Service display component
β βββ pages/
β β βββ Home.tsx # Landing page
β β βββ Adoption.tsx # Pet adoption page
β β βββ Services.tsx # Services page
β β βββ Store.tsx # Pet supplies store
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
βββ shared/
βββ types.ts # Shared TypeScript types
βββ utils.ts # Shared utility functions
- Backend: Hono (TypeScript API framework)
- Frontend: React 18.2.0 with TypeScript
- Database: SQLite
- Styling: TailwindCSS
- Authentication: JWT-based auth
The application is automatically deployed on Val Town. The main entry point is /backend/index.ts which serves both the API and frontend.
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/profile- Get user profile
GET /api/pets- List available petsPOST /api/pets- Register a pet for adoptionGET /api/pets/:id- Get pet detailsPOST /api/pets/:id/adopt- Submit adoption application
GET /api/services/grooming- List grooming servicesPOST /api/services/grooming/book- Book grooming appointmentGET /api/services/veterinary- List vet servicesPOST /api/services/veterinary/book- Book vet appointment
GET /api/store/products- List pet suppliesPOST /api/store/cart- Add to cartPOST /api/store/checkout- Process order