Skip to content

Latest commit

 

History

2,513 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lovat

Lovat is Highlander Robotics Team 8033's scouting system for FIRST Robotics Competition events. It collects match observations, analyzes team performance, supports scouting operations, and presents data for match strategy and alliance selection.

Applications

Path Purpose Technology
apps/collection Field-side match collection, offline history, and report upload Expo, React Native, TypeScript
apps/server API, authentication, storage, imports, caching, and analysis Node.js, Express, TypeScript, Prisma, PostgreSQL, Redis
apps/dashboard Analysis, scouting management, predictions, and picklists Flutter and Dart
apps/website Public site and selected operational routes SvelteKit and TypeScript

Data flow

Collection ── reports ──> Server <── schedules and results ── The Blue Alliance
                            │
                            ├── PostgreSQL: durable data
                            ├── Redis: analysis cache
                            └── authenticated API ──> Dashboard

Website provides public pages and selected operational integrations.

See docs/architecture.md for boundaries and cross-application contracts.

Prerequisites

  • Server: Node.js 22.20.0, PostgreSQL, and Redis.
  • Collection: Node.js 24.6.0 and Expo/EAS tooling.
  • Dashboard: Flutter; CI versions are documented in its local instructions.
  • Website: Node.js 20.19.6.
  • macOS and Xcode are required for local iOS builds.

Each application retains its own lockfile. Install dependencies inside the application directory.

Commands

./scripts/check-structure.sh
./scripts/check-all.sh

Application development commands:

cd apps/server && npm run dev
cd apps/collection && npm start
cd apps/dashboard && flutter run -d chrome
cd apps/website && npm run dev

Several applications require environment files or external services for full runtime behavior. Copy only committed .env.example files and never commit credentials.

Working here

Read AGENTS.md and the nearest app-local AGENTS.md before editing. Keep changes within the app that owns the behavior. Update all affected producers and consumers together when a shared contract changes.

Linear MCP

This repository configures Linear as a project-scoped MCP server for Codex. Authentication is stored per user and is never committed.

After cloning the repository, trust the project when Codex prompts you, then authenticate:

codex mcp login linear

Run codex mcp get linear to verify the server configuration, or use /mcp inside an interactive Codex session. Start a new Codex session if one was already open when you authenticated.

Deployment

  • Server: Railway, repository root apps/server.
  • Dashboard: Netlify web deployment and GitHub Actions Android artifact.
  • Collection: EAS, project root apps/collection.
  • Website: Netlify, base directory apps/website.

History

This repository combines four formerly separate repositories. Default-branch histories and namespaced release tags are retained. Original-to-rewritten maps and migration evidence are in docs/migration; the source repositories remain the record for old pull requests and feature branches.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages