anekdotin afdb9eb4e0 feat: service calendar UX, alert button, stats, auto delivery fixes, and more
- Service calendar: remove manual label input (auto-generates as "Type - Name"),
  add quick time buttons (7am/9am/11am/1pm/3pm), click-to-highlight date cell,
  orange Add Event button
- Alert button on customer profile always red (not conditional)
- Customer alert popup system (severity levels, confirm-to-dismiss for critical)
- Auto delivery finalize: async submit guards, race condition and null-check fixes
- Tank estimation: gallons-to-fill stat, K-factor slider hidden from non-admins,
  last fill / days-since-last-fill stat boxes
- Auto page: removed Confidence column (never meaningfully updates)
- Stats: 4-month chart on home, full-year weekly stats page, customer signups graph
- Delivery map: quick-date buttons, All Eligible mode, zip padding fix
- Ticket: past deliveries limit + a-/wc- prefix, 2-page print fix
- Address checker: OSM false-street fix, zip capture, street manager admin page
- Customer create: quick-town buttons for 15 service area towns
- Customer profile: map pin with popup
- Sidebar: Stats section, admin streets link

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 13:40:43 -04:00
2024-04-04 16:38:35 -04:00
2025-09-04 08:03:24 -04:00
2024-10-24 11:50:58 -04:00
2025-09-04 08:03:24 -04:00
2025-08-16 21:52:09 -04:00
2024-10-24 11:50:58 -04:00
2024-03-28 10:33:56 -04:00
2026-01-18 19:04:01 -05:00
2024-03-28 10:33:56 -04:00
2025-09-01 16:42:44 -04:00

EAMCO Office Frontend

This is the official frontend for the EAMCO office management system. It is a modern Single-Page Application (SPA) built with Vue 3, TypeScript, and Vite, providing a rich, interactive, and responsive user interface for managing all aspects of the EAMCO business.

This application serves as the visual portal to the powerful backend services, including eamco_office_api, allowing office staff to manage customers, schedule deliveries, track finances, and more.

Framework Language Build Tool Styling


Features

  • Component-Based UI: Built with Vue 3's Composition API (<script setup>) for clean and reusable components.
  • Centralized State Management: Uses Pinia for predictable and maintainable application state.
  • Interactive Scheduling: Integrates FullCalendar to provide a rich, drag-and-drop interface for managing delivery and service schedules.
  • Geospatial Visualization: Utilizes Leaflet and @vue-leaflet to display interactive maps for customer locations, routing, and driver tracking.
  • Client-Side Routing: Vue Router provides seamless navigation between different sections of the application without page reloads.
  • Robust Form Handling: Employs Vuelidate for complex client-side form validation.
  • Modern Styling: Styled with Tailwind CSS and the DaisyUI component library for a beautiful and consistent utility-first design system.
  • PDF Generation: Capable of generating reports and documents on-the-fly using vue3-pdfmake.
  • Real-time Notifications: Provides instant feedback to users via @kyvg/vue3-notification.

Tech Stack


Getting Started

Installation

  1. Clone the repository and navigate into it.

  2. Install dependencies using npm (or your preferred package manager):

    npm install
    
  3. Configure your environment: The application will make requests to the backend API. Ensure that the API base URL is configured correctly, usually in an environment file (.env.local) or a dedicated service module.

Development Commands

  • Run the development server: This command starts a hot-reloading development server powered by Vite.

    npm run dev
    
  • Build for production: This command type-checks the code and bundles it for production.

    npm run build
    
  • Preview the production build: This command starts a simple server to preview the production-ready application locally.

    npm run preview
    

Project Structure

eamco_office_frontend/
├── src/
│   ├── assets/         # Static assets like images and fonts
│   ├── components/     # Reusable Vue components (buttons, modals, etc.)
│   ├── layouts/        # Main application layouts (e.g., with sidebar, without)
│   ├── pages/          # Top-level view components for each route
│   ├── router/         # Vue Router configuration
│   ├── services/       # API communication modules (e.g., axios instances)
│   ├── stores/         # Pinia store modules
│   ├── types/          # TypeScript type definitions
│   ├── main.ts         # Application entry point
│   └── App.vue         # Root Vue component
├── public/             # Static assets that are not processed by Vite
├── package.json        # Project dependencies and scripts
├── vite.config.ts      # Vite build configuration
├── tailwind.config.js  # Tailwind CSS configuration
└── README.md           # This file
S
Description
No description provided
Readme 5.2 MiB
Languages
Vue 90%
TypeScript 7.7%
JavaScript 1.9%
CSS 0.4%