Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

semmelei statistics: frontend aggregation module

Cerrado
#353 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Ya se ha fusionado un pull request relacionado.

  • #365 de @omikron-agent — fusionado

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
typescript

Línea de trabajo

Read the specification in #351 first, especially its “Implementation Decisions,” then inspect the semmelei frontend and the news utils test for the existing module and test conventions. Build a pure aggregation module and cover its acceptance criteria with vitest tests, including Europe/Berlin daylight saving transitions and empty input. Done means the listed series, histogram, table, top five, filtering, and segment sizing behave as specified.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

ready-for-agent

Part of #351 (spec). Read the spec first; this ticket covers the frontend aggregation.

What to build

A pure, UI-free module in the semmelei frontend that turns statistics positions into everything the Statistik page shows. It works against a local type mirroring the position contract in the backend ticket (the generated client may not exist yet); the page ticket maps the generated type onto it.

Inputs: positions, period, segment size (or automatic), measure (units / orders / Order Value), Item selection, category filter.

Outputs:

  • order intake series per segment (by placement time), per selected Item, plus storniert and abgesagt series
  • per pickup day series, with each day flagged open (not Dispatched) and Called Off
  • Deadline distance histogram: <1 h, 1–3 h, 3–12 h, 12–24 h, 1–2 days, >2 days
  • item table rows: units, orders, Order Value, cancelled units, called-off units
  • the top 5 Items of the period, for the selection preset
  • the automatic segment size (10 min, 30 min, 1 h, 1 day; aiming at roughly 50 to 200 segments)

Counting rules, Item identity and time zone exactly as in #351 "Implementation Decisions".

Acceptance criteria

  • Segment boundaries in Europe/Berlin, correct across both daylight saving transitions
  • Automatic segment size per period length; manual override honoured
  • Cancelled orders excluded from main numbers; storniert vs. abgesagt split via called_off
  • Order Value from price snapshot × quantity
  • "orders" with an Item selection counts orders with at least one selected Item
  • Category filter
  • Deleted Items grouped by name snapshot and marked deleted; renamed Items merged under their current name
  • Histogram bucket edges
  • Table rows and top 5
  • Empty input yields empty outputs
  • vitest tests (prior art: the news utils test)
Lenguaje dominante
TypeScript
Estrellas
0
Forks
1
Merge medio
9 h 39 min
PR fusionados (30 d)
144

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de myOmikron/code

Todos los issues de myOmikron/code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.