Status: 🟢 In Development Version: 0.1.0
A comprehensive platform for monitoring and optimizing brand visibility across AI platforms (ChatGPT, Claude, Gemini, Perplexity, Grok).
geo-platform/
├── backend/ # Rust backend services
│ └── crates/ # Modular crates (tracking, analytics, actions, etc.)
├── frontend/ # Next.js 14 frontend application
├── infra/ # Infrastructure as Code (Docker, K8s, etc.)
├── doc/ # Architecture and design documentation
└── scripts/ # Automation scripts
- Rust: 1.75+ (Install via rustup)
- Node.js: 18+ and npm 9+
- Docker: Latest version
- PostgreSQL: 16+ with TimescaleDB extension
- Redis: 7+
# Clone repository
git clone https://github.com/your-org/geo-platform
cd geo-platform
# Install root dependencies
npm install
# Setup backend
cd backend
cp .env.example .env
# Edit .env with your configuration
# Setup frontend
cd ../frontend
cp .env.local.example .env.local
# Edit .env.local with your configuration# From root directory
npm run infra:up
# This starts:
# - PostgreSQL with TimescaleDB
# - Redis
# - Qdrant (vector DB)
# - Meilisearch
# - Prometheus
# - Grafananpm run db:migrate# Start both backend and frontend
npm run dev
# Or start individually:
npm run dev:backend # Rust API server on :8080
npm run dev:frontend # Next.js on :3000- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- GraphQL Playground: http://localhost:8080/graphql
- Grafana: http://localhost:3001
- Prometheus: http://localhost:9090
# Run all tests
npm run test
# Run backend tests
npm run test:backend
# Run frontend tests
npm run test:frontend# Lint all code
npm run lint
# Format all code
npm run format# Start all services
npm run docker:up
# Stop all services
npm run docker:down
# View logs
npm run docker:logs# Run migrations
npm run db:migrate
# Reset database (⚠️ destructive)
npm run db:reset- Framework: Axum 0.7
- Database: SQLx + PostgreSQL + TimescaleDB
- Cache: Redis
- GraphQL: async-graphql
- Async Runtime: Tokio
- Framework: Next.js 14 (App Router)
- UI: React 18 + shadcn/ui + Tailwind CSS
- State: Zustand
- API: GraphQL (Apollo Client)
- Charts: Recharts + D3.js
- Containers: Docker + Docker Compose
- Orchestration: Kubernetes (production)
- Monitoring: Prometheus + Grafana
- Logging: Vector + Loki
- Architecture design
- Backend structure initialization
- Monorepo setup
- Database schema design
- API contracts definition
- Infrastructure configuration
- Data & Interface Design Doc ⭐ NEW
- SQL migrations ready ⭐ NEW
- Frontend structure initialized ⭐ NEW
- Full infrastructure setup ⭐ NEW
📋 See: SETUP_COMPLETE.md for full status
- Tracking Engine implementation (Week 3-4)
- Backend API implementation
- Frontend development
- Integration testing
- Beta testing
- Production deployment
- Documentation site
- Create a feature branch
- Make your changes
- Run tests:
npm run test - Run linter:
npm run lint - Format code:
npm run format - Submit pull request
type(scope): brief description
Detailed explanation (optional)
- Changes made
- Rationale
Refs: #issue_number
Types: feat, fix, docs, style, refactor, test, chore
| Metric | Target | Status |
|---|---|---|
| API Latency (p95) | < 200ms | ⏸️ To be measured |
| Query Processing | < 2s per platform | ⏸️ To be measured |
| Cache Hit Rate | > 60% | ⏸️ To be implemented |
| Uptime | > 99.9% | ⏸️ To be monitored |
- All API endpoints require authentication (JWT)
- Role-based access control (RBAC)
- Rate limiting on all public endpoints
- GDPR compliant data handling
- Encrypted data at rest and in transit
MIT License - See LICENSE file for details
- Documentation: See
/docdirectory - Issues: GitHub Issues
- Email: team@geo-platform.com
Made with ❤️ by the GEO Platform Team