HealthHub - Comprehensive Health Platform

A complete health management platform built on Val Town with essential health tools and resources.

Features

šŸ„ Core Health Tools

  • BMI Calculator - Calculate and track Body Mass Index
  • Health Tracker - Log daily health metrics (weight, blood pressure, heart rate)
  • Symptom Checker - Basic symptom assessment tool
  • Medication Reminder - Track medications and dosages

šŸ“… Healthcare Management

  • Appointment Booking - Schedule healthcare appointments
  • Doctor Directory - Find healthcare providers
  • Health Records - Store and manage health documents
  • Emergency Contacts - Quick access to emergency services

šŸ“š Health Resources

  • Health Articles - Educational content and tips
  • Health Dictionary - Comprehensive medical terminology and definitions
  • Exercise Library - Workout routines and fitness guides
  • Nutrition Guide - Dietary information and meal planning
  • Mental Health Resources - Wellness and mental health support

šŸ¤– AI Assistant

  • HealthBot - AI-powered chatbot for health Q&A
  • Conversation Logging - Chat history sent to site managers
  • Smart Suggestions - Contextual quick replies and recommendations
  • 24/7 Availability - Always available health assistant

šŸ”§ Additional Features

  • Health Dashboard - Overview of all health metrics
  • Progress Tracking - Visual charts and trends
  • Health Goals - Set and track health objectives
  • Health Dictionary - Medical terms and definitions lookup
  • AI Chatbot - 24/7 health assistant with conversation logging
  • Tabbed Navigation - Easy switching between features
  • Community Forum - Connect with other users

Project Structure

ā”œā”€ā”€ backend/
│   ā”œā”€ā”€ database/
│   │   ā”œā”€ā”€ migrations.ts    # Database schema
│   │   └── queries.ts       # Database operations
│   ā”œā”€ā”€ routes/
│   │   ā”œā”€ā”€ health.ts        # Health tracking endpoints
│   │   ā”œā”€ā”€ appointments.ts  # Appointment management
│   │   ā”œā”€ā”€ articles.ts      # Health articles API
│   │   └── static.ts        # Static file serving
│   └── index.ts             # Main Hono server
ā”œā”€ā”€ frontend/
│   ā”œā”€ā”€ components/
│   │   ā”œā”€ā”€ App.tsx          # Main application
│   │   ā”œā”€ā”€ Dashboard.tsx    # Health dashboard
│   │   ā”œā”€ā”€ BMICalculator.tsx
│   │   ā”œā”€ā”€ HealthTracker.tsx
│   │   ā”œā”€ā”€ AppointmentBooking.tsx
│   │   ā”œā”€ā”€ HealthArticles.tsx
│   │   ā”œā”€ā”€ HealthDictionary.tsx
│   │   ā”œā”€ā”€ Chatbot.tsx
│   │   └── [other components]
│   ā”œā”€ā”€ index.html           # Main HTML template
│   ā”œā”€ā”€ index.tsx            # Frontend entry point
│   └── style.css            # Custom styles
└── shared/
    ā”œā”€ā”€ types.ts             # Shared TypeScript types
    └── utils.ts             # Shared utility functions

Technology Stack

  • Backend: Hono.js API framework
  • Frontend: React 18.2.0 with TypeScript
  • Database: SQLite for data persistence
  • Styling: TailwindCSS
  • Storage: Val Town Blob storage for files

Getting Started

  1. The backend server runs on /backend/index.ts
  2. Frontend is served from /frontend/index.html
  3. Database is automatically initialized on first run
  4. All health data is stored securely in SQLite

API Endpoints

  • GET / - Main application
  • GET /api/health/* - Health tracking endpoints
  • GET /api/appointments/* - Appointment management
  • GET /api/articles/* - Health articles and dictionary
  • POST /api/chatbot/* - AI chatbot interactions
  • POST /api/health/track - Log health metrics
  • POST /api/appointments/book - Book appointment
  • POST /api/chatbot/message - Send message to AI assistant

Environment Variables

  • OPENAI_API_KEY - Required for AI chatbot functionality (automatically configured in Val Town)
  • No other API keys required - uses open health data sources and local storage