Rowing
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.
index.ts
https://bart--980ca1e68e9311f0be2e0224a6c84d84.web.val.run
A comprehensive system to manage rowing club operations including boat repairs, rentals, and cleaning duties.
- Boat Management: Track boat inventory, status, and specifications
- Repair Tracking: Log and monitor repair requests and progress
- Rental System: Manage boat rentals with member information
- Cleaning Duties: Assign and track cleaning responsibilities
- Dashboard: Overview of all operations
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ boats.ts # Boat management endpoints
β β βββ repairs.ts # Repair tracking endpoints
β β βββ rentals.ts # Rental management endpoints
β β βββ cleaning.ts # Cleaning duties endpoints
β βββ index.ts # Main Hono server
βββ frontend/
β βββ components/
β β βββ App.tsx # Main application component
β β βββ Dashboard.tsx # Dashboard overview
β β βββ BoatManager.tsx # Boat management interface
β β βββ RepairTracker.tsx # Repair tracking interface
β β βββ RentalManager.tsx # Rental management interface
β β βββ CleaningDuties.tsx # Cleaning duties interface
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
βββ shared/
βββ types.ts # Shared TypeScript types
- The system uses SQLite for data storage
- Access the web interface at the root URL
- All data is persistent across sessions
GET /api/boats- List all boatsGET /api/boats/:id- Get boat by IDPOST /api/boats- Add new boatPUT /api/boats/:id- Update boatDELETE /api/boats/:id- Delete boat
GET /api/repairs- List repair requestsGET /api/repairs/:id- Get repair by IDPOST /api/repairs- Create repair requestPUT /api/repairs/:id- Update repairDELETE /api/repairs/:id- Delete repair
GET /api/rentals- List rentalsGET /api/rentals/:id- Get rental by IDPOST /api/rentals- Create rentalPUT /api/rentals/:id- Update rentalDELETE /api/rentals/:id- Delete rental
GET /api/cleaning- List cleaning dutiesGET /api/cleaning/:id- Get cleaning duty by IDPOST /api/cleaning- Assign cleaning dutyPUT /api/cleaning/:id- Update cleaning dutyDELETE /api/cleaning/:id- Delete cleaning duty
GET /api/dashboard- Get dashboard statisticsGET /health- Health check endpoint
The system comes pre-loaded with sample data including:
- 5 boats of different types (single, double, quad, four, eight)
- Sample repair requests
- Active rental
- Cleaning duties
- Track boat inventory with details like manufacturer, year, and type
- Monitor boat status (available, rented, maintenance, damaged)
- Add notes for special instructions or conditions
- Log repair requests with priority levels (low, medium, high, urgent)
- Assign repairs to specific technicians
- Track estimated and actual costs
- Monitor repair status from pending to completion
- Automatically update boat status when repairs are in progress
- Create rentals with customer information
- Track rental periods with start and end dates
- Monitor deposit and rental fees
- Automatically detect overdue rentals
- Update boat availability based on rental status
- Assign cleaning tasks to individuals or teams
- Organize by area (boathouse, dock, boats, equipment, grounds)
- Set priority levels and due dates
- Track completion status
- Identify overdue cleaning tasks
- Real-time statistics on fleet utilization
- Visual indicators for maintenance load
- Alerts for overdue items
- Quick action buttons for common tasks