Skip to content

sofvanh/MindMeld

Repository files navigation

MindMeld

MindMeld is a full-stack application designed to facilitate group deliberation using AI. It draws inspiration from platforms like Polis and Community Notes by X. You can access the work-in-progress deployment here.

Development Setup

  1. Install Dependencies

    npm run install:all  # Installs both frontend and backend dependencies
  2. Environment Variables

    • Frontend (.env in frontend/):

      • REACT_APP_OAUTH_CLIENT_ID: Google OAuth client ID
      • REACT_APP_BACKEND_URL: Defaults to http://localhost:3001; Has to be set for production
    • Backend (.env in backend/):

      • DB_USER: Database username
      • DB_HOST: Database host
      • DB_NAME: Database name
      • DB_PASSWORD: Database password
      • OPENAI_API_KEY: OpenAI API key
      • GOOGLE_CLIENT_ID: Google OAuth client ID (same as frontend)
  3. Run Development Servers

    npm run dev  # Starts both frontend (port 3000) and backend (port 3001)

For detailed commands related to individual frontend or backend tasks, refer to the package.json files in their respective directories.

Design

The branding and design system documentation can be found at /design. You can view it live here.

Deployment

  • Frontend: Automatically deployed to Netlify
  • Backend: Automatically deployed to Google Cloud Run via GitHub Actions

Docker Development

Build and run the development container:

cd backend
docker build -f Dockerfile.dev -t mindmeld-backend-dev .
docker run -p 3001:3001 -v $(pwd):/app mindmeld-backend-dev

Useful Commands

View Cloud Run logs:

gcloud run services logs read mindmeld

List container images:

gcloud container images list