untitled-6698
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.
main.ts
https://bertarios--7d69b6b4c28511f09e0142dde27851f2.web.val.run
A comprehensive support system that allows users to submit assistance requests and engage in real-time chat with support staff.
- User Portal: Submit assistance requests with priority levels
- Admin Dashboard: Manage requests and respond to users
- Real-time Chat: Live messaging between users and support staff
- Status Tracking: Monitor request progress (Open β In Progress β Resolved)
- Priority Management: Handle urgent, normal, and low priority requests
- Message History: Complete chat history for each request
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ api.ts # API endpoints for requests and messages
β β βββ static.ts # Static file serving
β βββ index.ts # Main Hono server
βββ frontend/
β βββ components/
β β βββ App.tsx # Main application component
β β βββ UserPortal.tsx # User request submission
β β βββ AdminDashboard.tsx # Admin interface
β β βββ ChatWindow.tsx # Real-time chat component
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
β βββ style.css # Custom styles
βββ shared/
βββ types.ts # Shared TypeScript types
- Users: Access the main page to submit assistance requests
- Admins: Use
/adminto view and manage all requests - Chat: Click on any request to open the chat window
GET /api/requests- Get all requests (admin) or user's requestsPOST /api/requests- Create new assistance requestPUT /api/requests/:id- Update request statusGET /api/messages/:requestId- Get chat messages for a requestPOST /api/messages- Send new chat messageGET /api/events/:requestId- Server-sent events for real-time updates
- id, title, description, priority, status, user_email, created_at, updated_at
- id, request_id, sender_email, sender_type, message, created_at