IMS is a full-stack incident-management application created for the Fox Valley Special Recreation Association (FVSRA). A four-person college software-engineering team completed the project in spring 2022 as the continuation of a multi-semester effort to replace a paper-based reporting workflow with structured browser forms, retrievable digital records, and administrator tools.
The project combined a React frontend, Node.js and Express API, and MySQL persistence across six specialized report types. It gave employees a familiar form-entry experience and gave administrators tools to create reports, review stored submissions, export report data, and manage administrator accounts.
Project outcome: The digital workflow was estimated during project testing and client discussions to reduce report-retrieval time by approximately 75% compared with the previous paper-based process.
FVSRA personnel relied on physical incident-report forms. Retrieving a report meant locating and working through filed paperwork, and everyday handling created opportunities for documents to be delayed or misplaced.
The team collaborated directly with the client through recurring calls and meetings to understand that workflow and translate it into a browser application. IMS reduced reliance on physical filing by capturing the same structured information digitally while preserving the terminology, section order, and visual familiarity of the existing forms.
- Delivered six end-to-end report workflows spanning React form state, JSON requests, Express controllers, and MySQL models.
- Provided five employee-visible report types and an expanded administrator workflow covering all six.
- Built administrator views for reviewing and deleting stored reports.
- Added client-side CSV exports for use in spreadsheet tools.
- Implemented administrator account creation and deletion workflows.
- Used sprint-oriented planning to coordinate frontend, backend, database, testing, and client-facing work across four team members.
- Learned and applied React as a new technology during the project.
- Estimated an approximately 75% reduction in report-retrieval time during project testing and client discussions.
flowchart LR
Employee["Employee workflow"] --> React["React 17 single-page client"]
Admin["Administrator workflow"] --> React
React -->|"JSON over HTTP"| API["Node.js and Express API"]
API --> Controllers["Report controllers"]
Controllers --> Models["MySQL model layer"]
Models --> Database["Report-specific tables"]
React --> Export["CSV report exports"]
The React client organizes report entry, administrator review, account management, and export features into role-specific routes. The API exposes consistent collection and item operations for each report resource, while the model layer maps submitted form data into report-specific MySQL tables.
See Architecture and design for the report catalog, workflow details, and design decisions.
A central client requirement was to make the browser forms resemble the existing documents. The team preserved familiar section ordering, labels, and dense report layouts so employees could move from paper to digital entry without learning an entirely new information structure.
The screenshot is a sanitized historical browser view containing example placeholders only. Client-identifying material is obscured while the implemented layout remains visible. No real incident records are included in this repository.
Employee users could create:
- Minor Injury Log;
- Accident/Incident 01;
- Vehicle Accident 02;
- Property Loss 03; and
- Notification of Injury to Employer 04E.
Administrators could create those reports plus Employee Injury 04, review report summaries, export report data as CSV, delete stored reports, and manage administrator accounts.
flowchart TD
Start["Entry page"] --> EmployeePath["Continue as employee"]
Start --> AdminPath["Administrator sign-in"]
EmployeePath --> EmployeeForms["Choose from five report types"]
AdminPath --> AdminPanel["Administrator panel"]
AdminPanel --> AllForms["Create any of six report types"]
AdminPanel --> Review["Review and export reports"]
AdminPanel --> Accounts["Manage administrator accounts"]
EmployeeForms --> Form["Complete document-style form"]
AllForms --> Form
Form --> API["Submit through the Express API"]
API --> Confirmation["Display submission confirmation"]
- Translated several large, specialized documents into controlled React forms.
- Mapped more than one hundred fields in the widest workflow across UI state, API payloads, and SQL persistence.
- Maintained clear resource boundaries across six report types while sharing a consistent Express route/controller/model pattern.
- Built administrator reporting tables and broader CSV field mappings for operational review.
- Balanced document familiarity with the technical constraints of a new browser-based workflow.
- Integrated frontend, API, persistence, and testing work within a four-person team.
These historical screenshots preserve the interface delivered by the team without redesigning it for this portfolio.
The team used Postman to exercise collection reads, item reads, report creation, and deletion across all six report resources. The historical test matrix contains 30 API cases and helped identify server-side validation as an area for continued improvement.
Project planning was organized into frontend, backend, database, and learning backlogs across seven planned sprints. Weekly client communication, team review, task re-estimation, and shared integration work supported delivery of the multi-form system.
The project provided practical experience with requirements gathering, complex form architecture, REST-style API design, relational persistence, client communication, and team delivery. With current experience, a comparable system would use schema-driven forms, centralized server validation and authorization, stronger automated testing, responsive and accessible controls, and explicit privacy and retention policies.
The engineering retrospective expands on these lessons constructively.
IMS was developed by a four-person college software-engineering team and completed in spring 2022 after continuing work from a prior semester. Git history preserves the original team chronology and contributions. This repository is Josh Valentino's historical fork of that shared project and does not present the application as solo work.
IMS is permanently retired and preserved as a portfolio record of a real-client software-engineering project. It is not an active production service, and no revival or redeployment is planned.


