Documentation Index
Fetch the complete documentation index at: https://docs.joinfindu.com/llms.txt
Use this file to discover all available pages before exploring further.
FindU API Architecture
This document describes the current API landscape and provides guidance for future API development.Current Architecture
FindU currently uses a hybrid approach:Supabase Direct Access
Both web and iOS apps communicate directly with Supabase for most operations
Matching Algorithm API
Python FastAPI service for ML-powered recommendations
How It Works Today
Future API Vision
As FindU scales, we may benefit from dedicated API layers:Potential Benefits
- Partner API
- Student API
- Admin API
Purpose: Dedicated endpoints for school dashboard featuresBenefits:
- Simplified permissions model
- Aggregated analytics
- Batch operations
- Webhook management
GET /partner/analyticsPOST /partner/messages/bulkGET /partner/students/campaigns
API Design Principles
When building new APIs, follow these principles:1. RESTful Design
2. Consistent Patterns
Request/Response Format
Error Handling
3. Authentication
All APIs should use Supabase JWT tokens:4. Versioning Strategy
Implementation Guidance
When to Create an API
Consider creating a dedicated API when:- Performance: Direct Supabase queries become inefficient
- Complexity: Business logic is too complex for RLS policies
- Integration: External partners need access
- Mobile: Need optimized payloads for mobile apps
Technology Choices
Node.js/TypeScript
For web-focused APIs matching our frontend stack
Python FastAPI
For ML/data-heavy operations like matching
Edge Functions
For lightweight, globally distributed endpoints
GraphQL
For complex data relationships and flexible queries
Example API Structure
Documentation Standards
When creating new APIs:- OpenAPI Specification: Define endpoints in OpenAPI 3.0
- Examples: Provide request/response examples
- SDKs: Generate or create language-specific SDKs
- Versioning: Document all versions and changes
- Rate Limits: Clearly state limits and quotas
Security Considerations
- Authentication: Always require valid JWT tokens
- Authorization: Implement proper permission checks
- Rate Limiting: Protect against abuse
- Input Validation: Validate all inputs
- CORS: Configure appropriately for web clients
- Monitoring: Log all API access for auditing