finsight1 / documentation.md
Samarth Naik
init
1a2b901

FinSight — Unified Routes and API Endpoints Documentation

This document provides a consolidated reference for all routes and API endpoints across the FinSight project. It is organized by folder: Backend, Frontend, and Models.


Table of Contents

  1. Backend
  2. Frontend
  3. Models

Backend

The backend is a Django application using Django REST Framework with JWT authentication. All backend routes are defined in backend/core/urls.py and delegated to individual app URL configurations.

URL Routing Overview

Prefix Includes Description
api/auth/ accounts.urls Authentication and user management
api/ api.urls AI data ingestion and chat

Authentication Endpoints (accounts)

Base path: /api/auth/

HTTP Method Endpoint View Class Auth Required Description
POST /api/auth/register/ RegisterView No Register a new user account
POST /api/auth/login/ LoginView No Login with username/email and password
GET /api/auth/me/ MeView Yes (JWT) Get current authenticated user profile
POST /api/auth/send-otp/ SendOTPView No Send OTP to user's email for verification
POST /api/auth/verify-otp/ VerifyOTPView No Verify OTP to complete email verification
POST /api/auth/logout/ LogoutView Yes (JWT) Logout and blacklist refresh token
POST /api/auth/token/refresh/ TokenRefreshView No Refresh JWT access token using refresh token
POST /api/auth/google/ GoogleAuthView No Authenticate with Google OAuth ID token

Source files:

  • backend/accounts/urls.py
  • backend/accounts/views.py

API Endpoints (api)

Base path: /api/

HTTP Method Endpoint View Class Auth Required Description
POST /api/ai/ingest/ AIIngestView Yes (JWT) Ingest confidential and non-confidential data
POST /api/chat/message/ ChatMessageView Yes (JWT) Store a chat message in encrypted memory

Source files:

  • backend/api/urls.py
  • backend/api/views.py

Frontend

The frontend is a React application using React Router for client-side routing. Routes are defined in frontend/src/App.jsx.

Client-Side Routes

Path Component Description
/ LandingPage Landing page with hero section and navigation links
/signin SignInPage User sign-in form
/signup SignUpPage User registration form
/verify-otp OtpVerificationPage OTP verification page for email confirmation

Source files:

  • frontend/src/App.jsx
  • frontend/src/pages/SignInPage.jsx
  • frontend/src/pages/SignUpPage.jsx
  • frontend/src/pages/OtpVerificationPage.jsx

Models

The models service is a FastAPI application providing audio transcription and transcript post-processing capabilities. The main app is defined in models/app.py and mounts two sub-routers.

Root Endpoints

HTTP Method Endpoint Description
GET / Root endpoint returning API information and available endpoints
GET /health Health check endpoint returning service status

Source file: models/app.py

Transcription Endpoints (audiotext)

Prefix: /transcribe

HTTP Method Endpoint Description
POST /transcribe Transcribe an uploaded audio file (.wav or .mp3) to text using Groq Whisper model

Request: Multipart file upload (file field)

Source files:

  • models/audiotext/router.py
  • models/audiotext/service.py

Transcript Processing Endpoints (filtertext)

Prefix: /filtertext

HTTP Method Endpoint Description
POST /filtertext/process Process transcript text through the pipeline (PII removal and structured output generation)
POST /filtertext/process-file Process an existing transcript file from the transcriptions directory
GET /filtertext/status Get the status and configuration of the transcript processing service

Source files:

  • models/filtertext/router.py
  • models/filtertext/service.py

This documentation reflects the current state of routes and API endpoints in the FinSight codebase. No code was modified in the creation of this file.