Northeastern-Electric-Racing / Northeastern-Electric-Racing/FinishLine
Operations Dashboard
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 36
- Forks
- 9
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 11
Description
Overview
Operations is a core team that handles competition logistics and preparation, ensuring that competition planning runs smoothly from planning through execution. This includes coordinating transportation & accommodations, managing documents, and more. This initiative aims to centralize all operations-related information within FinishLine, streamlining logistical workflows and making competition information readily accessible to necessary members across the team.
Stakeholders
Product Stakeholder: @laylasheikh, @pallavishankarr, @naishahmistry
Software Stakeholder: Sean Walker, Chris Pyle
Reference Users: William Laroche, Samuel Ehlers, Lauren Cummings
User Story
- As a general member, I want to see my assigned transportation group, accommodation group, and personal competition schedule, so I know exactly where I need to be and when, reducing confusion during competition travel.
- As a project lead/team lead, I want to see transportation, accommodation, and scheduling details for my team, so I can ensure all members are accounted for and prepared for competition logistics.
- As an operations member, I want a high-level view of all competition logistics so I can quickly identify gaps, conflicts, or missing information before competition.
- As a member in any role, I want access to all competition-related documents with clear status indicators so I know what documents still need attention and what has already been finalized.
- As an operations member/admin, I want to track which competition documents are not started so nothing is missed before competition deadlines.
Success Metrics
The success of the operations dashboard will be evident when competition logistics and preparation can be managed efficiently within FinishLine. This includes centralizing competition documents, organizing transportation and accommodation information, and reducing last minute confusion by ensuring all members have real-time visibility into competition details, deadlines, and responsibilities.
Rollout Plan
Fall 2026
Exec Summaries: Phase 1 (Core Dashboard)
- Backend: per-season Executive Summary schema (Overview, Goals, Wins & What to Improve, Notes, Competition Performance as integers/MM:SS, Competition Documents fields, Budget-by-division, Recruitment & Membership counts by term/division); CRUD endpoints restricted to Operations Team/E-Board/Admin; field validation; Vehicle Development aggregation endpoint (per-team project start/original-end/actual-end dates); Competition Documents auto-populate from Operations Dashboard if available this semester, manual fallback fields otherwise.
- Frontend: new "Executive Summaries" sidebar tab, defaulting to the most recent (possibly incomplete) year; Vehicle Development graph filterable by team, rendering the dashed-line/overrun/early-finish bar logic; Budget donut and Recruitment & Membership bar charts (rendered, no hover yet), with Fall/Spring and FSAE/FHE tab parity; editable Goals/Wins & What to Improve/Notes/Competition Performance sections via pencil icons, one section open at a time, pre-filled when data already exists.
Operations Dashboard: Logistics
- Competition Logistics Dashboard (ops-team view, permission-gated): transportation table and accommodation table side by side; a Google Calendar integration showing the competition weekend's events, or, if that integration isn't feasible, the two tables stacked full-width with a banner linking out to the calendar; a competition dropdown that also drives which competition the linked Group Manager pages show; "View and Edit all Transportation/Accommodation Info" links into the respective Group Manager pages.
- Transportation Group Manager: "Add Vehicle" popup for entering vehicle info; per-row edit (reassign the person in that seat) and cancel (remove them) on each card; a card-level edit button opening the same popup pre-filled as "Edit Vehicle."
- Accommodation Group Manager: same pattern, "Add Accommodation" popup, per-row edit/cancel, card-level "Edit" popup pre-filled, plus an "Add Room" button that appends another room row under the last one.
- Non-ops member view (desktop): top card shows the member's own transportation assignment, bottom card their accommodation assignment, with the same calendar/banner treatment.
- Mobile view: same data reflowed for phones, middle card is transportation, bottom card is accommodation, top card is a direct link to the Google Calendar (since the embedded calendar itself doesn't need to render on mobile).
Admin Tools: Permissions
- Members table listing everyone with access to the logistics dashboard, group managers, and (later) the documents dashboard, plus an "Add Members" popup for granting that access, built now specifically so Documents (Spring) doesn't need its own permission system.
Each of the 3 phases per semester will get its own branch off of develop. You can either create branches off of that for each part or have developers continue to work on the same branch. Either way, phase 1 should be totally completed and then merged into develop instead of merging in each ticket at a time.
Each time one of these phases is completed, it needs to be announced in the leads channel, so they are aware of the changes. When the last ticket for a phase is ready to be merged in, we will cover the use cases during our weekly meeting in that phase to make sure it is working correctly.
This feature needs to be completed, meaning we sit down and go through all the functionality together, by December 13. Only the required functionality for that semester needs to be done. This is a day before the start of the final exam period. This will give us the final exam period to make any last changes. It is up to you how to split up this time between the 3 phases.
Spring 2027
Exec Summaries: Phase 2 (Overlays, Interactivity & Rollout)
- Overlays for Budget, Recruitment & Membership, and Competition Documents (including the Gantt-bar hover menu).
- "View More" links: Vehicle Development → Gantt Chart filtered to the team/season; Competition Performance → Operations Dashboard filtered to the season.
- Hover popups on the Budget donut (division + value) and the Recruitment & Membership bars.
- Remaining tab-parity polish, testing with E-Board/Heads/selected members, and the full adoption push.
Operations Dashboard: Documents
- Competition Documents Dashboard: kanban board where cards drag between status columns; a progress bar at the top and per-column stats that both update live as cards move; search/filter by document name, section number, or overdue status; "Add Section," "Add Document," and "View Documents" buttons routing to their respective popups/views.
- Document Section Cards: document name, section name/number, document/folder links, assignee, next internal deadline, next external deadline, final deadline in red; an "OVERDUE" flag pinned to the top of its column when either deadline type is missed; a bell icon that sends "Reminder: '', Section __ is due in __ days" to the assignee; a pencil icon reopening the same popup as Add Section, pre-filled; a 6-dot handle for dragging.
- Selecting-a-Section popup: checkboxes tracking each deadline; a "Send Reminder" button matching the bell icon's message; an "Advance to " action (no action once Finished); moving a card to "Under Review" pings any assigned reviewers with "'', Section __ is ready for review"; same pencil-icon edit; closes on outside click.
- Add Document Section popup: pick the document, pick section type (Regular vs. Appendix, controls which column it lands in on the Individual Document View), assign members.
- Individual Document View: general info (name, competition/year, authors/editors/reviewers); color/icon-coded deadlines (grey/crossed-clock = passed, white/white-clock = upcoming, red = final, green check = submitted); section-status breakdown (% complete, count per column); a competition/year/document selector; an "Update Submission" button; separate Regular and Appendix columns, each with a "+" that opens Add Section pre-set to that type; cards here show only section name/number, assignee, and doc link.
- Update Submission popup: deadline name/date, which document was submitted, and accepted/rejected/just-submitted status.
- Deadline Tracker: a table of every deadline across every document, filterable by competition, year, or number of submissions before acceptance, with a "Final acceptance deadline" column showing the deadline name and the date it was actually accepted.
- Add Deadline popup: attach a deadline to specific documents/sections, flagged as internal (NER) or external (competition).
Admin Tools: Documents
- Documents table listing everything in the system, with an "Add Documents" popup for creating new entries, including the option to restrict a document to specific members' access, built now since it only becomes useful once the Documents feature it feeds exists.
Out of Scope
One aspect that was outside the scope of this project was directly concatenating all the files into a PDF from FinishLine, as most competition documents are saved as Word documents in our team's SharePoint and must be reviewed by the Operations team to ensure accuracy.
Background / Context
NER’s Operations Team currently relies on fragmented tools and communication channels to manage competition logistics, resulting in decentralized information around transportation, accommodations, schedules, and required documentation. Critical details are often scattered across Slack messages, spreadsheets, and shared drives, making it difficult for members to quickly find up-to-date information and understand their individual responsibilities. This has led to confusion around travel groups, accommodation assignments, competition timelines, and the status of required documents, especially as deadlines approach.
To centralize competition logistics and make operational information easily accessible within FinishLine, this initiative introduces a comprehensive operations dashboard. The dashboard provides a unified view of transportation and accommodation details, a calendar view of competition schedules, and document management with clear status indicators. Additionally, members can view their specific transportation and accommodation groups along with a personalized calendar of their responsibilities, reducing miscommunication, improving preparedness, and ensuring smoother competition execution.
Acceptance Criteria & Mock-ups
Competitions Logistics
Competition Logistics Dashboard
- This view of competition logistics dashboard is available for members of the operations team to view, these permissions are managed in admin tools
- The first table is of all those attending comp's transportation plans, the second is of their accommodation plans
- On the right hand side, there is a space left for a google calendar integration, this should show the weekend dates of competition with all events on the calendar - if this integration is not possible, put the tables on top of one another taking up the entire width of the screen and add a banner on top of them with a link to the google calendar (See Logistics Mobile View for reference)
- Clicking "View and Edit all Transportation Info" will take the user to the group manager page for transportation and the same will happen for "View and Edit all Accommodation Info" -> Group Manager page for accommodations
- The dropdown at the top allows the user to change competitions, whichever competition they are viewing on the main dashboard should correspond to the one they see in the group manager pages
Transportation Group Manager
- Clicking the “Add Vehicle” button will navigate to a popup with vehicle information to be filled out
- Clicking the edit button on each card row will allow the user to change the person in that vehicle, the cancel button removes them completely
- The edit button at the bottom of the card allows the user to edit the card's header information in a popup similar to Add Vehicle (see below) but instead "Edit Vehicle" and with the fields auto populated with the card's current info
Add Vehicle Popup
- Allows user to enter all information related to this vehicle
Accom. Group Manager
- Clicking the add accommodation button will navigate to a popup with accommodation information to be filled out
- Clicking the edit button on each card row will allow the user to change the person in that accom., the cancel button removes them completely
- The edit button at the bottom of the card allows the user to edit the card's header information in a popup similar to Add Accommodation (see below) but instead "Edit Vehicle" and with the fields auto populated with the card's current info
Add Accom Popup
- When the add room button is clicked, another row of rooms will be added below the last added room
- Allows user to enter all information related to this accommodation
Outside of Operations User - Logistics Dashboard View
- This view is available to any member who is attending competition but is not on the ops team
- The top card shows their transportation information and the bottom card shows their accommodation information
- On the right hand side, there is a space left for a google calendar integration, this should show the weekend dates of competition with all events on the calendar - if this integration is not possible, put the tables on top of one another taking up the entire width of the screen and add a banner on top of them with a link to the google calendar (See Logistics Mobile View below for reference)
Outside of Operations User - Mobile Logistics Dashboard View
- This view is available to any member who is attending competition but is not on the ops team
- Important that this mobile view is implemented because competition attendees may not have their computers with them
- The middle card shows their transportation information and the bottom card shows their accommodation information
- The top card has a link to the google calendar that would be integrated in the desktop view
Competition Documents
Competition Documents Dashboard
- The documents dashboard shows all sections of each document as a separate card, cards can be dragged between columns to change their status
- The status of each section should be reflected in the progress bar at the top of the page and when documents are moved between columns, the bar should update along with the statistic atop each column
- Searching documents should allow users to look up specific documents and filter by documents, by section number, or by whether they are overdue
- Add section button directs users to Add Section popup, Add Document button directs users to Add Document popup, View Documents button brings user to the Individual Document View (They can choose which document from this page, just bring them to a random document)
Document Section Cards
- Each section card shows the document name, section name / number, the link to the document and folder (if a folder was provided), who the section is assigned to, the next internal deadline, the next external deadline and the final deadline in red
- If the document is overdue on either an internal or external deadline, show OVERDUE in red on top of the card and keep all overdue sections at the top of their columns
- The bell icon will send a slack notification to the assigned users reading "Reminder: 'Document Name', Section __ is due in __ days"
- The pencil icon allows the user to edit the section in the same popup as Add Document Section but with all information autofilled to what was previously there for that section
- The 6 dots allows the user to drag the card to other columns
Selecting a Section Popup
- If a section card is selected from the document dashboard this popup is shown in the middle of the screen, this is where deadlines are tracked using the checkboxes
- The send reminder button has the same functionality as the bell icon on the section cards it will send a slack notification to the assigned users reading "Reminder: 'Document Name', Section __ is due in __ days"
- The "Advance to In Progress" would reflect the name of the next column after the one it is currently in, for example if the section is marked as "In Progress" it would read "Advance to Under Review" and if the section is marked as Finished, there would be no link in that spot
- If a card is moved to under review, if there are any reviewers assigned to the document they will receive a slack notification reading "'Document Name', Section __ is ready for review"
- The pencil icon allows the user to edit the section in the same popup as Add Document Section but with all information autofilled to what was previously there for that section
- Clicking anywhere outside of this popup would close it
Add Document Section Popup
- Allows user to add sections to a specific document, allows users to select the specific document to add the section to
- The second drop down allows the user to select "Regular Section" or "Appendix Section" which determines which column it is in in the individual document view
- The third field allows the user to assign specific members to this section
Individual Document View
- This view shows all the sections and stats for one specific document/report
- The top left section shows all general information for the document including its name, competition name and year, all authors, editors and reviewers
- Underneath this all deadline information is shown (COLOR CODE : grey for deadlines that have passed, white for upcoming deadlines, red for final deadline) (ICON CODE : crossed out clock for passed, green check for submitted, white clock for upcoming / final)
- On the bottom left is the status information of each section which corresponds to the columns they are in on the Competition Documents Dashboard, it should show what percent of sections are completed and how many sections are in each status
- The dropdown on the top allow the user to select which competition and year they want to view documents for and which document from the selected competition year they want to view
- The update submission button brings the user to the Update Submission Popup
- The sections column has all sections that were marked as Regular Section when they were created, clicking the plus button atop this column brings users to the Add Document Section Popup with the section type auto populated
- The appendix column has all sections that were marked as Appendix Section when they were created, clicking the plus button atop this column brings users to the Add Document Section Popup with the section type auto populated
- The cards in this view only show the section name and number, who they are assigned to and the document link
Update Submission Popup
- The update submission popup allows users to mark when the document was submitted to the competition
- They must enter the deadline name and date, what document they submitted and whether it was accepted, rejected or they have just submitted it
Deadline Tracker
- The deadline tracker provides a table view of all deadlines for all documents in the system
- Users should be able to filter by competition, by year or by number of submissions before acceptance
- The Final acceptance deadline column should show the deadline name and date it was accepted
Add Deadline Popup
- The add deadline popup allows users to add a deadline to specific documents and/or sections and mark the deadline as internal (NER deadline) or external (Comp Deadline)
Admin Tools
Add Documents Popup
- Popup for creating documents
- Members can have access to only specific documents if necessary
Add Members Popup
- Popup for adding member permissions
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source files or tests are identified. Start by reviewing the Phase 1 Operations Dashboard acceptance criteria and mock-ups, then define the implementation entry points with the team; done means the required logistics, permissions, and executive-summary functionality is integrated and its listed use cases work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100