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:
```bash
git clone https://github.com/pinkycollie/Deaf-First-Platform.git
cd Deaf-First-Platform
```
2. Install dependencies:
```bash
npm install
```
3. Set up environment variables:
```bash
cp .env.example .env
# Edit .env with your configuration
```
4. Run all services in development mode:
```bash
npm run dev
```
## Development Scripts
### Run all services
```bash
npm run dev
```
### Run individual services
```bash
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
```bash
npm run build # Build all workspaces
```
### Testing
```bash
npm run test # Run all tests
npm run test:e2e # Run end-to-end tests
```
### Code Quality
```bash
npm run lint # Lint all workspaces
npm run format # Format code with Prettier
npm run type-check # TypeScript type checking
```
### Database
```bash
npm run db:setup # Setup databases
npm run db:migrate # Run migrations
npm run db:seed # Seed databases
```
### Docker
```bash
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:
```bash
# 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:**
- [Quick Start Guide](./QUICKSTART-WEBHOOKS.md) - Get started in minutes
- [API Reference](./WEBHOOK-API.md) - Complete API documentation
- [Migration Guide](./WEBHOOK-MIGRATION-GUIDE.md) - Migrate from Xano
## 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:
```bash
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:
```env
# 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