Job Board with Chat

A simple application that allows users to:

  • Post job opportunities
  • Browse job listings
  • Participate in a public chat room to discuss opportunities

Features

  • Job posting form with title, company, description, and contact info
  • Searchable job listings
  • Real-time public chat room
  • Simple username-based authentication

Technical Stack

  • Backend: Hono (TypeScript)
  • Database: SQLite
  • Frontend: React with Tailwind CSS
  • Real-time: Server-Sent Events (SSE)

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Schema definitions
│   │   └── queries.ts       # DB query functions
│   ├── index.ts             # Main entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx
│   │   ├── JobForm.tsx
│   │   ├── JobList.tsx
│   │   └── ChatRoom.tsx
│   ├── index.html           # Main HTML template
│   └── index.tsx            # Frontend JS entry point
└── shared/
    └── types.ts             # Shared types

Usage

  1. Enter a username to access the app
  2. Browse job listings or post your own job opportunity
  3. Join the chat room to discuss opportunities with others

How It Works

The application uses:

  • SQLite database to store job postings, chat messages, and active users
  • Server-Sent Events (SSE) for real-time updates to the chat and user activity
  • React components for a responsive UI
  • Tailwind CSS for styling

The chat room allows users to discuss job opportunities in real-time, while the job board provides a platform for posting and discovering new positions.