10k-experts-platform

10,000 Experts Platform

AI-powered expert marketplace connecting clients with verified professionals for high-quality project delivery

CI/CD TypeScript Tests Coverage License


Perfect Score Achievement

**Zero TypeScript Errors All Tests Passing Production Ready**

This project maintains a perfect quality score with:


Overview

10,000 Experts is a next-generation expert marketplace that leverages AI to streamline the entire project lifecycle - from requirements gathering to expert matching, automated implementation, and quality delivery.

Key Features


Technology Stack

Backend

Frontend

External Services

Infrastructure


Quick Start

Prerequisites

Installation

  1. Clone the repository
    git clone https://github.com/your-org/10000-experts.git
    cd 10000-experts
    
  2. Install dependencies
    npm install
    
  3. Setup environment variables
    cp .env.example .env
    # Edit .env with your configuration
    
  4. Start services with Docker (recommended)
    docker-compose up -d
    

    Or manually start PostgreSQL and Redis on their default ports.

  5. Run database migrations
    npm run migrate
    
  6. Start development servers
    npm run dev
    

    This starts both backend (http://localhost:3000) and frontend (http://localhost:5173)

First-Time Setup

After starting the dev servers:

  1. Navigate to http://localhost:5173
  2. Register a new account with your email
  3. Enter the OTP code sent to your email
  4. Complete your profile
  5. Add a payment method (test mode supported)

Project Structure

10000-experts/
├── backend/                 # Node.js/Express API
│   ├── src/
│   │   ├── api/            # Route handlers
│   │   ├── services/       # Business logic
│   │   ├── middleware/     # Express middleware
│   │   ├── lib/            # Shared utilities
│   │   ├── config/         # Configuration
│   │   └── validators/     # Zod validation schemas
│   ├── prisma/
│   │   ├── schema.prisma   # Database schema
│   │   └── migrations/     # Migration history
│   └── tests/              # Backend tests
│
├── frontend/               # React/TypeScript UI
│   ├── src/
│   │   ├── components/     # React components
│   │   ├── services/       # API clients
│   │   ├── context/        # React context
│   │   ├── hooks/          # Custom hooks
│   │   └── styles/         # Global styles
│   └── tests/              # Frontend tests
│
├── specs/                  # Feature specifications
│   ├── 001-multi-role-auth/
│   ├── 002-ai-briefing-wizard/
│   └── .../                # 12 feature specs total
│
├── docs/                   # Additional documentation
├── .github/                # GitHub workflows and templates
└── docker-compose.yml      # Local development stack

Available Scripts

Root Commands

npm run dev            # Start both backend and frontend
npm run build          # Build all workspaces
npm test               # Run all tests
npm run lint           # Lint all code
npm run format         # Format code with Prettier

Backend Commands

npm run dev:backend    # Start backend only
npm run migrate        # Run database migrations
npm run db:push        # Push schema changes
npm run db:studio      # Open Prisma Studio

Frontend Commands

npm run dev:frontend   # Start frontend only

Development Workflow

Feature Development

  1. Create a feature branch
    git checkout -b 003-your-feature-name
    
  2. Implement changes
    • Follow TypeScript strict mode
    • Write tests alongside implementation
    • Validate against OpenAPI contracts
  3. Run quality checks
    npm test               # All tests must pass
    npm run lint           # Zero linting errors
    npm run build          # Zero TypeScript errors
    
  4. Commit changes
    git add .
    git commit -m "feat: add your feature description"
    
  5. Push and create PR
    git push origin 003-your-feature-name
    

See CONTRIBUTING.md for detailed guidelines.


Testing

Run All Tests

npm test

Backend Tests

cd backend
npm test                    # All tests
npm run test:unit           # Unit tests only
npm run test:integration    # Integration tests
npm run test:contract       # OpenAPI contract tests

Frontend Tests

cd frontend
npm test                    # Jest tests
npm run test:e2e           # Cypress E2E tests

Documentation

Feature Specifications

Each feature has complete documentation:


Environment Variables

Backend (.env)

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/tenk_experts

# Redis
REDIS_URL=redis://localhost:6379

# Authentication
JWT_SECRET=your-secret-key
JWT_EXPIRES_IN=24h
ENCRYPTION_KEY=your-32-byte-hex-key

# Stripe
STRIPE_SECRET_KEY=sk_test_...

# Microsoft Graph (Email)
AZURE_TENANT_ID=your-tenant-id
AZURE_CLIENT_ID=your-client-id
AZURE_CLIENT_SECRET=your-client-secret
GRAPH_EMAIL_FROM=noreply@yourdomain.com

# Anthropic AI
ANTHROPIC_API_KEY=sk-ant-...

Frontend (.env)

VITE_API_URL=http://localhost:3000/api
VITE_STRIPE_PUBLIC_KEY=pk_test_...

See .env.example for complete list with descriptions.


Deployment

Production Checklist

Docker Production Build

docker-compose -f docker-compose.prod.yml up -d

Contributing

We welcome contributions! Please see CONTRIBUTING.md for:


Security

Reporting Vulnerabilities

If you discover a security vulnerability, please email security@10000experts.com instead of using the issue tracker.

Security Features


License

This project is licensed under the MIT License - see the LICENSE file for details.


Project Status

Current Phase

Milestones


Getting Help


Acknowledgments

Built with:


Built with precision. Powered by AI. Ready for scale.

Force rebuild

Redis connection fixed - using Railway internal Redis

Trigger rebuild without local .env file