How sgonzalezlopez/timetrack works
This is a speed-skating club and competition management application: users manage skaters, clubs, competitions, training sessions, and race-time registries, with registry data supporting records and statistics. The visible runtime starts in app.js, mounts API and web routes, and initializes the application. API route modules dispatch to domain controllers, which operate on Mongoose models; selected controllers also apply role-based data filters. The tree shows management and private views and chart code, but the excerpts do not establish how their screens obtain data. Edges reflect shown source or SOURCE INDEX references; unsampled UI wiring is intentionally omitted.
Main entry points: routes.js API router · registry.controller.js Race registries · trainingsession.controller.js Training sessions · track.controller.js Track management
Components 34
Application routes
- Application setup
app.js - API router
api/routes.js - Category API
api/category.route.js - Club API
api/club.route.js - Coach API
api/coach.route.js - Competition API
api/competition.route.js - Registry API
api/registry.route.js - Skater API
api/skater.route.js - Track API
api/track.route.js - Training API
api/trainingsession.route.js
Skating operations
- Category management
controllers/category.controller.js - Club management
controllers/club.controller.js - Coach management
controllers/coach.controller.js - Competition management
controllers/competition.controller.js - Race registries
controllers/registry.controller.js - Skater management
controllers/skater.controller.js - Track management
controllers/track.controller.js - Training sessions
controllers/trainingsession.controller.js - Role-based filtering
middlewares/data.filter.js - Geocoding helper
utils/geocoder.js
Domain data
- Category records
models/category.model.js - Club records
models/club.model.js - Coach records
models/coach.model.js - Competition records
models/competition.model.js - Race records
models/registry.model.js - Skater records
models/skater.model.js - Track records
models/track.model.js - Training records
models/trainingsession.model.js
Web interface
- Web router
views-routes/routes.js - Management pages
views-routes/management.route.js - Private pages
views-routes/private.route.js - Management screens
views/management - Private screens
views/private
Other components
- User
Connections 42
- User → Application setup: uses
app.js - Application setup → API router: mounts
app.js - Application setup → Web router: mounts
app.js - API router → Category API: routes to
api/routes.js - API router → Club API: routes to
api/routes.js - API router → Coach API: routes to
api/routes.js - API router → Competition API: routes to
api/routes.js - API router → Registry API: routes to
api/routes.js - API router → Skater API: routes to
api/routes.js - API router → Track API: routes to
api/routes.js - API router → Training API: routes to
api/routes.js - Category API → Category management: dispatches
api/category.route.js - Club API → Club management: dispatches
api/club.route.js - Coach API → Coach management: dispatches
api/coach.route.js - Competition API → Competition management: dispatches
api/competition.route.js - Registry API → Race registries: dispatches
api/registry.route.js - Skater API → Skater management: dispatches
api/skater.route.js - Track API → Track management: dispatches
api/track.route.js - Training API → Training sessions: dispatches
api/trainingsession.route.js - Category management → Category records: reads and writes
controllers/category.controller.js - Club management → Club records: reads and writes
controllers/club.controller.js - Coach management → Coach records: reads and writes
controllers/coach.controller.js - Competition management → Competition records: reads and writes
controllers/competition.controller.js - Race registries → Race records: queries and updates
controllers/registry.controller.js - Skater management → Skater records: reads and writes
controllers/skater.controller.js - Track management → Track records: reads and writes
controllers/track.controller.js - Training sessions → Training records: reads and writes
controllers/trainingsession.controller.js - Club management → Role-based filtering: applies
controllers/club.controller.js - Competition management → Role-based filtering: applies
controllers/competition.controller.js - Race registries → Role-based filtering: applies
controllers/registry.controller.js - Skater management → Role-based filtering: applies
controllers/skater.controller.js - Training sessions → Role-based filtering: applies
controllers/trainingsession.controller.js - Track management → Geocoding helper: geocodes location
controllers/track.controller.js - Track management → Competition records: queries competitions
controllers/track.controller.js - Track management → Race registries: delegates registry query
controllers/track.controller.js - Competition management → Race registries: delegates registry actions
controllers/competition.controller.js - Skater management → Race registries: delegates registry actions
controllers/skater.controller.js - Training sessions → Race records: looks up registries
controllers/trainingsession.controller.js - Training sessions → Race registries: delegates registry actions
controllers/trainingsession.controller.js - Training sessions → Skater records: loads skater
controllers/trainingsession.controller.js - Web router → Management pages: routes to
views-routes/routes.js - Web router → Private pages: routes to
views-routes/routes.js