Freelancing
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://Sandra_Ozumba--97c4cda83f9711f08f9976b3cceeab13.web.val.run
A comprehensive platform for freelancers and virtual assistants to connect, collaborate, and grow their businesses.
- User Profiles: Showcase skills, experience, and portfolio
- Job Board: Post and browse job opportunities
- Real-time Chat: Public chat room for networking and collaboration
- Skill Matching: Connect clients with the right professionals
- Community Features: Tips sharing and project discussions
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ auth.ts # Authentication routes
β β βββ jobs.ts # Job posting routes
β β βββ users.ts # User profile routes
β β βββ chat.ts # Chat functionality
β β βββ static.ts # Static file serving
β βββ index.ts # Main Hono app entry point
βββ frontend/
β βββ components/
β β βββ App.tsx # Main React app
β β βββ Header.tsx # Navigation header
β β βββ JobBoard.tsx # Job listings
β β βββ UserProfile.tsx # User profiles
β β βββ Chat.tsx # Real-time chat
β β βββ Auth.tsx # Login/register forms
β βββ index.html # Main HTML template
β βββ index.tsx # React entry point
β βββ style.css # Custom styles
βββ shared/
β βββ types.ts # Shared TypeScript types
βββ README.md
- Backend: Hono (TypeScript API framework)
- Database: SQLite with Val Town's sqlite service
- Frontend: React 18.2.0 with TypeScript
- Styling: TailwindCSS
- Real-time: Server-Sent Events for chat
- Storage: Val Town blob storage for file uploads
- The app runs on Val Town's platform
- Database tables are automatically created on first run
- Visit the main URL to access the platform
- Register as a freelancer or client to get started
GET /
- Main applicationPOST /api/auth/register
- User registrationPOST /api/auth/login
- User loginGET /api/jobs
- List jobsPOST /api/jobs
- Create job postingGET /api/users/:id
- Get user profilePUT /api/users/:id
- Update user profileGET /api/chat/messages
- Get chat messagesPOST /api/chat/messages
- Send chat messageGET /api/chat/stream
- SSE chat stream
No API keys required - uses Val Town's built-in services.