Event Discovery & Chat App

A comprehensive platform for discovering local events and connecting with other attendees through real-time chat.

Features

  • Event Discovery: Browse events happening around you
  • Event Management: Organizers can create and manage events
  • Real-time Chat: Chat with other attendees planning to attend the same event
  • Location-based: Find events near your location
  • Age Restrictions: Events can specify age limits
  • Time-based Chat: Chat rooms automatically close when events end

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema setup
│   │   └── queries.ts       # Database query functions
│   ├── routes/
│   │   ├── events.ts        # Event CRUD operations
│   │   ├── chat.ts          # Chat functionality
│   │   └── static.ts        # Static file serving
│   └── index.ts             # Main Hono server
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main application component
│   │   ├── EventList.tsx    # Event discovery interface
│   │   ├── EventForm.tsx    # Event creation form
│   │   ├── ChatRoom.tsx     # Chat interface
│   │   └── LocationPicker.tsx # Location selection
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend entry point
│   └── style.css            # Custom styles
└── shared/
    └── types.ts             # Shared TypeScript types

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Frontend: React with TypeScript
  • Database: SQLite
  • Styling: TailwindCSS
  • Real-time: Server-Sent Events (SSE)

Getting Started

  1. The app will automatically set up the database on first run
  2. Visit the main page to browse events or create new ones
  3. Join event chats to connect with other attendees
  4. Event organizers can manage their events through the interface