MCPcopy Index your code
hub / github.com/EIrno/Cracked-Oura

github.com/EIrno/Cracked-Oura @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
311 symbols 986 edges 75 files 64 documented · 21%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cracked Oura

Use Oura ring without subscription.

Project Structure: - frontend/: Electron + React + TypeScript - backend/: Python + FastAPI + SQLite

Features

  • Local Database: All your data is stored locally in an SQLite database (backend/oura_database.db).
  • Data Ingestion: Automation to request data from Oura.
  • Dashboard: Visualize your data like in the Oura app.
  • AI Analyst: Ask questions about your health data.
  • Cross-Platform: Runs on macOS and Windows.

Setup

Prerequisites

  • Node.js (v18+)
  • Python (v3.10+)

1. Setup Backend

cd backend
python -m venv venv
# Windows: venv\Scripts\activate
# Mac/Linux: source venv/bin/activate
pip install -r requirements.txt

2. Setup Frontend

cd frontend
npm install

3. Run in Development Mode

This will start both the Python backend (with hot-reload) and the Electron app.

cd frontend
npm run dev

Standalone Application

To create a standalone application (.dmg for Mac or .exe for Windows):

  1. Build the Project: bash cd frontend npm run build This command automatically compiles the Python backend into a standalone executable using PyInstaller, then builds the Electron app including the backend.

  2. Output:

  3. The final application installer (DMG/EXE) will be in frontend/dist/ (or dist folder).

2. Windows Support

Windows Build is Untested: While the app is designed to be cross-platform, the Windows build (.exe) has not been verified on a real Windows machine yet. The windows release will be tested as soon as possible.


Architecture details

When running in Production (bundled app), Electron automatically launches the bundled Python executable from resources/backend. When running in Development (npm run dev), Electron looks for your local backend/venv and runs uvicorn dynamically.

Extension points exported contracts — how you extend this code

WidgetConfig (Interface)
(no doc)
frontend/src/types/index.ts
WidgetInstance (Interface)
(no doc)
frontend/src/types/index.ts
DashboardRow (Interface)
(no doc)
frontend/src/types/index.ts
DashboardConfig (Interface)
(no doc)
frontend/src/types/index.ts
Dashboard (Interface)
(no doc)
frontend/src/types/index.ts

Core symbols most depended-on inside this repo

cn
called by 80
frontend/src/lib/utils.ts
_parse_int
called by 46
backend/src/ingestion/base.py
update_status
called by 35
backend/src/config.py
addLog
called by 20
frontend/src/components/dashboard/SettingsPanel.tsx
logToDesktop
called by 18
frontend/electron/main.ts
logToDesktop
called by 18
frontend/dist-electron/main.js
get_config
called by 14
backend/src/config.py
_read_csv_robust
called by 14
backend/src/ingestion/base.py

Shape

Function 129
Class 61
Method 59
Interface 40
Route 22

Languages

Python54%
TypeScript46%

Modules by API surface

backend/src/api/routes.py39 symbols
backend/src/api/schemas.py27 symbols
backend/src/api/main.py21 symbols
backend/src/automation.py20 symbols
backend/src/models.py14 symbols
frontend/src/contexts/DashboardContext.tsx13 symbols
backend/src/ingestion/base.py12 symbols
frontend/src/components/dashboard/SettingsPanel.tsx11 symbols
backend/src/config.py8 symbols
frontend/src/components/widgets/TableWidget.tsx7 symbols
frontend/src/components/ErrorBoundary.tsx7 symbols
backend/src/ingestion/processors/common.py7 symbols

For agents

$ claude mcp add Cracked-Oura \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page