pinkycollie's picture
Upload 17 files
ac6f50a verified

DEAF-FIRST Platform

A deaf-first SaaS ecosystem with AI-powered workflows and comprehensive accessibility features.

Overview

The DEAF-FIRST Platform is a monorepo containing multiple services designed with accessibility as the primary focus. It includes authentication, real-time synchronization, AI workflows, and specialized accessibility nodes.

Architecture

This is a monorepo managed with npm workspaces containing:

  • frontend: React-based accessible user interface
  • backend: Express API server
  • services/deafauth: DeafAUTH authentication service with MCP server support
  • services/pinksync: Real-time synchronization service
  • services/fibonrose: Mathematical optimization engine
  • services/accessibility-nodes: Modular accessibility features
  • ai: AI services for deaf-first workflows

Prerequisites

  • Node.js >= 20.0.0
  • npm >= 10.0.0
  • PostgreSQL (for backend and deafauth)
  • Redis (for pinksync)

Quick Start

  1. Clone the repository:
git clone https://github.com/pinkycollie/Deaf-First-Platform.git
cd Deaf-First-Platform
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
  1. Run all services in development mode:
npm run dev

Development Scripts

Run all services

npm run dev

Run individual services

npm run dev:frontend    # Frontend only
npm run dev:backend     # Backend only
npm run dev:deafauth    # DeafAUTH only
npm run dev:pinksync    # PinkSync only
npm run dev:fibonrose   # FibonRose only
npm run dev:a11y        # Accessibility nodes only

Build

npm run build           # Build all workspaces

Testing

npm run test            # Run all tests
npm run test:e2e        # Run end-to-end tests

Code Quality

npm run lint            # Lint all workspaces
npm run format          # Format code with Prettier
npm run type-check      # TypeScript type checking

Database

npm run db:setup        # Setup databases
npm run db:migrate      # Run migrations
npm run db:seed         # Seed databases

Docker

npm run docker:up       # Start all services with Docker
npm run docker:down     # Stop Docker services
npm run docker:logs     # View Docker logs
npm run build:docker    # Build Docker images

Webhook System

The platform includes a comprehensive webhook system for real-time event notifications:

# Start backend with webhook support
npm run dev:backend

# Access webhook API at http://localhost:3000/api/webhooks

Features:

  • Register and manage webhooks via REST API
  • Receive webhooks from external services (Xano, Stripe, etc.)
  • HMAC-SHA256 signature verification
  • 12 predefined event types (user, auth, document, accessibility, sync, AI)
  • Webhook delivery tracking and history
  • Test endpoints for development

Documentation:

MCP Server Support

The platform includes Model Context Protocol (MCP) server support in several services:

  • DeafAUTH: Authentication and user management
  • PinkSync: Real-time data synchronization
  • FibonRose: Mathematical optimization
  • Accessibility Nodes: Accessibility features API
  • AI Services: AI-powered workflows

To run MCP servers individually:

npm run mcp --workspace=services/deafauth
npm run mcp --workspace=services/pinksync
npm run mcp --workspace=services/fibonrose
npm run mcp --workspace=services/accessibility-nodes
npm run mcp --workspace=ai

Workspaces

Each workspace is independently versioned and can be developed, tested, and deployed separately.

Frontend (@deaf-first/frontend)

  • React 18 with TypeScript
  • Vite for fast development
  • Accessible UI components
  • Sign language support

Backend (@deaf-first/backend)

  • Express.js REST API
  • PostgreSQL database
  • JWT authentication
  • RESTful endpoints

DeafAUTH (@deaf-first/deafauth)

  • Specialized authentication service
  • Accessible authentication flows
  • MCP server for auth operations
  • User preference management

PinkSync (@deaf-first/pinksync)

  • Real-time WebSocket synchronization
  • Redis-based pub/sub
  • MCP server for sync operations
  • Event-driven architecture

FibonRose (@deaf-first/fibonrose)

  • Mathematical optimization algorithms
  • Fibonacci-based scheduling
  • MCP server for optimization queries
  • Performance analytics

Accessibility Nodes (@deaf-first/accessibility-nodes)

  • Modular accessibility features
  • Sign language interpretation
  • Visual accessibility enhancements
  • MCP server for accessibility APIs

AI Services (@deaf-first/ai)

  • AI-powered workflows
  • Natural language processing
  • Sign language generation
  • MCP server for AI operations

Environment Variables

Create a .env file in the root directory:

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/deafirst
DEAFAUTH_DATABASE_URL=postgresql://user:password@localhost:5432/deafauth

# Redis
REDIS_URL=redis://localhost:6379

# JWT
JWT_SECRET=your-secret-key
JWT_EXPIRY=7d

# Frontend
VITE_API_URL=http://localhost:3000
VITE_WS_URL=ws://localhost:3001

# Services
DEAFAUTH_PORT=3002
PINKSYNC_PORT=3003
FIBONROSE_PORT=3004
A11Y_PORT=3005
AI_PORT=3006

# AI Services
OPENAI_API_KEY=your-openai-key

# Webhook Configuration
WEBHOOK_SECRET=your-webhook-secret-key-here
XANO_WEBHOOK_SECRET=your-xano-webhook-secret

Contributing

We welcome contributions! Please read our contributing guidelines before submitting PRs.

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting
  5. Submit a pull request

License

MIT License - see LICENSE file for details

Author

360 Magicians

Keywords

  • Deaf-first design
  • Accessibility
  • SaaS ecosystem
  • AI workflows
  • MCP server
  • Real-time synchronization
  • Sign language support