Learn More About EBAMS

Event-Based Asset Maintenance System - Complete system overview

System Overview

EBAMS is a comprehensive fleet and asset management system designed to streamline operations and simplify tasks. Built on an event-driven architecture, EBAMS tracks all changes and activities across your asset fleet, providing complete visibility and control.

The system is organized into five integrated modules that work together to provide a complete solution for managing assets, maintenance workflows, inventory, dispatching, and operational planning.

Source & tutorials

View the code

Browse the application source, README, and project structure on GitHub.

GitHub repository

Watch tutorials

Step-by-step videos and walkthroughs on the project YouTube channel.

YouTube channel

Why Choose EBAMS?

Reduce Downtime

Proactive maintenance scheduling and tracking helps minimize asset downtime and maximize availability.

Increase Efficiency

Streamlined workflows and automated processes reduce manual work and improve operational efficiency.

Data-Driven Decisions

Comprehensive reporting and analytics provide insights for informed decision-making.

System Architecture

EBAMS follows a layered architecture pattern for maintainability and scalability:

Data Layer

SQLAlchemy models defining database schema, organized by business domain. Handles all data persistence and relationships.

Business Layer

Business logic, validation, context managers, and factories. Implements all business rules and workflows.

Service Layer

Application services and orchestration for cross-domain operations. Provides API-like interfaces.

Presentation Layer

Flask routes, HTML templates with HTMX, and RESTful endpoints. Handles all user interactions.

Technology Stack

Backend
  • Flask 2.x - Web framework
  • SQLAlchemy - ORM and database management
  • SQLite/PostgreSQL - Database options
  • Flask-Login - Authentication
Frontend
  • HTMX - Dynamic interactions
  • Bootstrap 5 - Responsive UI
  • Alpine.js - Lightweight reactivity
  • Minimal JavaScript - Performance focused

Key Features

Asset Management
  • Create and track assets with customizable types
  • Link assets to makes/models with automatic detail population
  • Track asset parent-child relationships
  • Complete audit trail of all changes
Maintenance System
  • Event-based maintenance tracking
  • Template-based maintenance workflows
  • Action items with checklist functionality
  • Technician, manager, and fleet portals
Inventory Management
  • Multi-location inventory tracking
  • Purchase order management
  • Arrival processing and receiving
  • Part linking to maintenance events
Dispatching
  • Work order creation and assignment
  • Status tracking with history
  • Asset-dispatch relationships
  • Outcome recording and documentation

User Roles

Admin

Full system access, user management, configuration

Manager

Asset management, maintenance planning, reporting

Technician

Maintenance execution, inventory access

Viewer

Read-only access to assigned areas

Development Principles

  • Atomic Models - Each table has its own model file
  • Domain-Driven Design - Code organized by business domain
  • Separation of Concerns - Clear boundaries between layers
  • Audit Trail - All user actions tracked
  • HTMX-First - Minimize JavaScript usage
  • Event-Driven - Complete activity logging

Ready to Get Started?

Follow our quick start guide to begin using EBAMS

Get Started Login