FreelanceHub - Digital Professional Community Platform

A comprehensive platform for freelancers and virtual assistants to connect, collaborate, and grow their businesses.

Features

  • 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

Project Structure

├── 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

Tech Stack

  • 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

Getting Started

  1. The app runs on Val Town's platform
  2. Database tables are automatically created on first run
  3. Visit the main URL to access the platform
  4. Register as a freelancer or client to get started

API Endpoints

  • GET / - Main application
  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • GET /api/jobs - List jobs
  • POST /api/jobs - Create job posting
  • GET /api/users/:id - Get user profile
  • PUT /api/users/:id - Update user profile
  • GET /api/chat/messages - Get chat messages
  • POST /api/chat/messages - Send chat message
  • GET /api/chat/stream - SSE chat stream

Environment Variables

No API keys required - uses Val Town's built-in services.