This commit is contained in:
2026-03-09 23:40:58 -04:00
parent 35116e71a9
commit 95b2c8da01
16 changed files with 672 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
# Knowledge Graph Index
## Projects (Active)
1. **Firesoft** - EMS/Fire department incident management (Active)
- Location: `projects/firesoft/`
- Status: Phase 2 code quality improvements
- Recent: Completed FRE-16 (Custom Data Hooks)
- Blocked: FRE-43 (GPU worker), FRE-41 (TTS containerization) - awaiting infrastructure
2. **Nessa** - Strava competitor fitness app (Active)
- Location: `projects/nessa/`
- Status: Segments System completed (FRE-76)
- Note: All Phase 2 work complete
## Areas
(No areas defined yet)
## Resources
(No resources defined yet)
## Archives
(No archives yet)
---
Last updated: 2026-03-10

View File

@@ -0,0 +1,59 @@
- id: proj-firesoft-001
type: entity
category: project
name: Firesoft
status: in_progress
created_at: 2026-03-09
updated_at: 2026-03-10
tags:
- react-native
- expo
- typescript
- ems
- fire-department
- incident-management
workspace: /home/mike/code/Firesoft
repository: https://git.freno.me/Mike/Firesoft.git
paperclip_project_id: bf1cbed2-9943-49e0-bf64-6e2f132b8790
- id: task-fre16-001
type: task
project: firesoft
title: Phase 2.2 - Create Custom Data Hooks
status: completed
completed_at: 2026-03-10T00:27:52Z
deliverables:
- hooks/useIncidents.ts
- hooks/useTrainingRecords.ts
- hooks/useDepartments.ts
- hooks/useUsers.ts
- hooks/useDataHooks.ts
acceptance_criteria:
- Create 4 custom data hooks
- Each hook exposes data, isLoading, error, refetch
- Replace inline service calls in screens
notes: |
Successfully created all 4 hooks with consistent pattern.
Demonstrated usage by updating app/(tabs)/training/index.tsx
to use useTrainingRecords hook.
- id: pattern-001
type: pattern
category: code-quality
name: Custom Data Hook Pattern
project: firesoft
created_at: 2026-03-10
description: |
Standard pattern for custom data hooks:
- Expose: data, isLoading, error, refetch
- Use React.useState for state management
- Use React.useCallback for fetch function
- Use React.useEffect to trigger initial fetch
- Return object with all state and refetch function
example: |
interface UseDataReturn {
data: T[];
isLoading: boolean;
error: Error | null;
refetch: () => Promise<void>;
}

View File

@@ -0,0 +1,62 @@
# Firesoft Project
## Overview
EMS/Fire department incident management software built with Expo React Native.
**Status:** In Progress
**Workspace:** `/home/mike/code/Firesoft`
**Project ID:** `bf1cbed2-9943-49e0-bf64-6e2f132b8790`
**Repository:** https://git.freno.me/Mike/Firesoft.git
## Tech Stack
- **Framework:** Expo (React Native 0.81.5, React 19.1.0, Expo SDK 54)
- **Language:** TypeScript
- **Database:** Turso (libsql) with local-first architecture
- **State Management:** MobX
- **Authentication:** Clerk
- **Navigation:** Expo Router (file-based routing)
- **Theming:** Light/dark mode support
## Architecture
### Key Directories
- `app/` - File-based routing (Expo Router)
- `(auth)/` - Authentication screens
- `(tabs)/` - Main tab navigation
- `components/` - Reusable UI components
- `ui/` - Basic UI components
- `layouts/` - Screen layout wrappers
- `services/` - Business logic and API calls
- `hooks/` - Custom React hooks
- `stores/` - MobX stores
- `database/` - Turso database utilities
- `types/` - TypeScript type definitions
### Data Layer
- **Local-first:** Works offline with sync queue
- **Services:** IncidentService, ProfileService, etc.
- **Custom Hooks:** useIncidents, useTrainingRecords, useDepartments, useUsers
## Current Focus
Phase 2: Code Quality Improvements (FRE-5)
- **Completed:** FRE-16 - Custom data hooks created
- **Next:** Continue modularization and component consolidation
## Key Features
- Incident tracking and reporting
- Training records management
- Department management
- User management with roles/permissions
- Export functionality (NERIS format)
- Offline support with sync
## Last Updated
2026-03-10

View File

@@ -0,0 +1,81 @@
- id: proj-nessa-001
type: entity
category: project
name: Nessa
status: backlog
created_at: 2026-03-09
updated_at: 2026-03-10
tags:
- swift
- ios
- fitness
- strava-competitor
- healthkit
workspace: /home/mike/code/Nessa
repository: https://git.freno.me/Mike/Nessa.git
paperclip_project_id: 54c4cca1-1954-443d-9413-0e99c92c5a28
- id: task-fre76-001
type: task
project: nessa
title: Phase 2 - Segments System
status: completed
assigned_at: 2026-03-09T20:49:45Z
completed_at: 2026-03-10T00:37:10Z
estimated_duration: 8-10 weeks
actual_duration: discovered already implemented
scope:
- Segment model (start/end points, polyline, distance, elevation)
- Segment creation from existing activities
- Segment discovery and exploration
- Segment leaderboard (all-time, this year, this month, this week)
- Segment effort tracking (PR, top 10, rankings)
- Segment matching algorithm for activities
- Segment detail view with map and leaderboard
- Popular segments near user
dependencies:
- Route/polyline data from activities
- Geospatial queries for segment matching
- Leaderboard ranking system
implementation_details:
- Models: Segment, SegmentEffort, SegmentStar (SegmentModels.swift)
- Database: Full schema with indexes (DatabaseManager.swift)
- Services: SegmentService, SegmentMatcher, SegmentRepository
- UI: All Views and ViewModels (creation, detail, list, explore)
- Features: Leaderboards, PR tracking, auto-matching, star/favorite
notes: |
Task was already fully implemented upon investigation.
All acceptance criteria met.
Production-ready code following Swift/iOS conventions.
access_count: 2
last_accessed: 2026-03-10T00:37:10Z
- id: initiative-fre73-001
type: initiative
project: nessa
title: Match Strava (Feature Parity)
status: in_review
total_phases: 15
timeline_months: 10-14
phases:
- phase: 1
issue: FRE-75
title: Social Foundation
priority: high
duration_weeks: 6-8
- phase: 2
issue: FRE-76
title: Segments System
priority: high
duration_weeks: 8-10
- phase: 3
issue: FRE-77
title: Challenges System
priority: high
duration_weeks: 6-8
infrastructure_required:
- PostGIS for geospatial
- Redis + WebSocket for real-time
- Push notifications (FCM/APNs)
- Background job processing
- Third-party API integrations

View File

@@ -0,0 +1,71 @@
# Nessa Project
## Overview
Strava competitor - fitness tracking and social platform for athletes.
**Status:** Backlog
**Workspace:** `/home/mike/code/Nessa`
**Project ID:** `54c4cca1-1954-443d-9413-0e99c92c5a28`
**Repository:** https://git.freno.me/Mike/Nessa.git
## Tech Stack
- Swift (iOS native)
- GRDB (local database)
- HealthKit integration
- Remote API sync to freno.me
## Current Focus
FRE-73: Match Strava (feature parity initiative) - Status: in_review
### Implementation Phases
1. **Phase 1:** Social Foundation (FRE-75) - 6-8 weeks - **Pending**
2. **Phase 2:** Segments System (FRE-76) - 8-10 weeks - **✅ COMPLETED** (2026-03-10)
3. **Phase 3:** Challenges System (FRE-77) - 6-8 weeks - **Pending**
4. **Phase 4:** Groups & Clubs (FRE-78) - 6-8 weeks - **Pending**
5. **Phase 5:** Route Planning (FRE-79) - 8-10 weeks - **Pending**
6. Additional phases for analytics, wearables, safety, etc.
## Key Features (Already Implemented)
- Workout tracking (11 types)
- HealthKit integration
- Basic dashboard with weekly stats
- Workout history with filtering
- Authentication (email, Apple, Google, guest)
- Local database (GRDB)
- Remote API sync
- Workout plans
- Real-time workout metrics
- GPS route tracking
- Workout splits
- **Segments System** (Phase 2 - COMPLETED 2026-03-10)
- Segment creation from workouts
- Automatic segment matching during activities
- Leaderboards with time filters (all-time, year, month, week)
- Personal record tracking and rankings
- Segment exploration by location
- Star/favorite functionality
## Critical Gaps (No Strava Parity)
- Social features (biggest gap)
- ~~Segments and leaderboards~~ ✅ COMPLETED
- Challenges system
- Groups/clubs/communities
- Route planning and navigation
- Advanced training analytics
- Wearable integrations
- Safety features
- Premium subscription
## Timeline
10-14 months total for full Strava parity
## Last Updated
2026-03-10