Race Course Management

URL: <base-url>/backend/hrc#/racecoursemanagement
Directory: VaahCms/Modules/HRC/Vue/pages/racecoursemanagement
Controller: VaahCms/Modules/HRC/Http/Controllers/Backend/RaceCourseManagementController.php
Model: VaahCms/Modules/HRC/Models/EqMap.php
Store: VaahCms/Modules/HRC/Vue/store/modules/store-racecoursemanagement.js

Description

This page is used by the admins to Create, Update, View or Delete Race Courses. This page also provides an intuitive way to define the racecourse using Google Maps, define checkpoints, define markers and add and update pointers for each checkpoint.

Race Course Management

Purpose

  • Show the list of all RaceCourses
  • Provide search functionalities and filter for quick access.
  • View RaceCourse details
  • Set Geo Coordinates for racecourses
  • Set or update checkpoints in the racecourse visually using Google Maps
  • Set or update pointer mechanism for identifying checkpoint lines
  • Update racecourse details
  • Delete or trash racecourse

How it works

  • The main component of the page is List.vue that contains the header containing title and Create button.
  • List.vue also renders LargeListView.vue from partials folder that shows the list of all items it is in full width and switches to SmallListView.vue when it is not in full width.
  • View.vue component displays the details of the record
  • View.vue component also calls the GoogleMapMarkers component from hrcvue to show the racecouse in GoogleMaps with the checkpoint markers.
  • Create.vue is called when the Create button the top right part of List.vue is clicked. This displays a form to create a new record. This component also has a the GoogleMapMarker as child component in editing mode.
  • Edit.vue is called when the Edit button the top right part of View.vue is clicked or if edit action is clicked form List.vue . This displays a form to create a new record. This component also has a the GoogleMapMarker as child component in editing mode.

Assumptions

  • The HRC module is Activated and all migrations and seeds have been run.
  • The ajax requests are functioning correctly. Including the initial assets request
  • Google Map API keys are correct and working

Acceptance Criteria

  • The list components top left should have heading "Rider Profiles" with the no of items mentioned in brackets.
  • The list component's should have "create" button
  • The Filters should work in real time
  • Each item in the list should have view and edit action buttons
  • The Create and edit form should have labels and placeholder.
  • All dropdowns and select boxes must work
  • A confirmation prompt should come up any time a delete or a trash action is performed.
  • Google Maps should load correctly with the all the flag markers and pointers