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