Skip to content

Scorzion/AssetFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AssetFlow Logo

AssetFlow

Enterprise Asset & Resource Management System

A centralized ERP-style platform to track physical assets, schedule audits, manage maintenance ticket approvals, and handle overlapping bookings for shared resources like conference rooms and vehicles.

🌐 Live Demo Β Β·Β  ✨ Features Β Β·Β  πŸš€ Getting Started Β Β·Β  πŸ—οΈ Architecture


πŸ“‹ Table of Contents


πŸ“– About the Project

In fast-growing organizations, managing the lifecycle of physical assets and shared resources often disintegrates into a mess of fragmented spreadsheets, double-booked rooms, and unassigned equipment.

We built AssetFlow during the Odoo Hackathon 2026 to solve this exact bottleneck. It is a highly cohesive, client-side Enterprise Resource Planning (ERP) prototype designed to manage physical assets from procurement to decommissioning. The platform offers a unified dashboard that covers real-time inventory tracking, smart calendar conflict resolution for shared resources, structured maintenance workflows, and comprehensive audit cycles.

To deliver an instantly testable, zero-setup experience for judges and developers alike, the entire business logic and relational data engine is engineered in-browser, using state-backed persistence (localStorage) that keeps data intact between refreshes.


✨ Features

Core Asset Management

  • Asset Registration - Register assets with unique auto-generated tags (AF-XXXX), custom fields per category, acquisition cost, serial numbers, and condition tracking
  • Asset Lifecycle - Full status tracking: Available β†’ Allocated β†’ Under Maintenance β†’ Lost / Retired
  • Asset History - Immutable audit trail recording every registration, allocation, transfer, return, and maintenance event

Organization Setup

  • Department Management - Create and manage departments with hierarchical parent-child relationships and manager assignments
  • Asset Categories - Configurable categories (Electronics, Vehicles, Shared Spaces, etc.) with custom fields per category
  • Employee Management - Full CRUD for employees with role assignment, department mapping, and account activation/deactivation

Asset Allocation & Transfers

  • Check-out / Check-in - Allocate assets to employees with expected return dates and return condition tracking
  • Transfer Workflow - Request, approve, or reject asset transfers between employees with manager/head approval gates
  • Overdue Tracking - Automatic detection and notification for overdue asset returns

Resource Booking

  • Overlap Detection - Real-time validation prevents double-booking of shared resources (conference rooms, vehicles)
  • Time-Slot Booking - Book shared/bookable assets for specific time windows with status lifecycle (Upcoming β†’ Ongoing β†’ Completed / Cancelled)

Maintenance & Ticketing

  • Ticket Lifecycle - Pending β†’ Approved β†’ Technician Assigned β†’ In Progress β†’ Resolved (or Rejected)
  • Priority Levels - Low / Medium / High / Critical priority classification
  • Manager Approval Gate - Maintenance requests require manager approval before progressing
  • Technician Assignment - Assign named technicians to approved tickets
  • Auto Status Sync - Resolving a ticket automatically sets the asset back to Available

Audit Cycles

  • Configurable Scoping - Define audit scope by department, location, or auditor
  • Per-Asset Verification - Auditors verify each asset as Verified, Damaged, or Missing
  • Discrepancy Tracking - Automatic flagging of missing/damaged assets with notes
  • Lifecycle Integration - Closing an audit with Missing assets automatically marks them as Lost

Reports & Analytics

  • Dashboard KPIs - Real-time counts for available, allocated, and under-maintenance assets
  • Booking Overview - Active and upcoming bookings at a glance
  • Transfer Requests - Pending transfer requests with quick-action approve/reject
  • Overdue Alerts - Highlight overdue allocations needing attention

Notifications & Activity Logs

  • In-App Notifications - Real-time notifications per user for allocations, transfers, approvals, and maintenance updates
  • Activity Audit Log - Chronological record of all system actions with user attribution
  • Unread Badge - Sidebar notification badge with unread count

πŸ› οΈ Tech Stack

Layer Technology
Framework React 19 (Hooks + Context API)
Build Tool Vite 8
Styling Vanilla CSS (glassmorphism, custom gradients)
Fonts Google Fonts - Inter, Outfit
Linting OxLint
Deployment GitHub Pages via gh-pages
State React Context + localStorage persistence

πŸš€ Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • npm (comes bundled with Node.js)

Installation

# Clone the repository
git clone https://github.com/Scorzion/AssetFlow.git
cd AssetFlow

# Install dependencies
npm install

# Start the development server
npm run dev

The app will be available at http://localhost:5173/AssetFlow/.

Available Scripts

Command Description
npm run dev Start Vite development server
npm run build Build production bundle to dist/
npm run preview Preview the production build locally
npm run lint Run OxLint for code quality checks
npm run deploy Build and deploy to GitHub Pages

πŸ”‘ Demo Credentials

The application comes pre-seeded with demo data and four user accounts:

Role Email Password
Admin admin@assetflow.com admin123
Manager manager@assetflow.com manager123
Dept. Head head@assetflow.com head123
Employee employee@assetflow.com employee123

Tip: You can also create new accounts via the Sign Up form. New accounts default to the employee role.


πŸ”’ Role-Based Access Control

Each role has access to a specific set of modules:

Module Admin Manager Dept. Head Employee
Dashboard βœ… βœ… βœ… βœ…
Organization Setup βœ… - - -
Asset Directory βœ… βœ… βœ… βœ…
Asset Allocation βœ… βœ… βœ… -
Resource Bookings βœ… βœ… βœ… βœ…
Maintenance βœ… βœ… βœ… βœ…
Audit Cycles βœ… βœ… βœ… βœ…
Reports & Analytics βœ… βœ… βœ… -
Notifications βœ… βœ… βœ… βœ…

πŸ“¦ Application Modules

1. Dashboard

Central hub showing KPI cards (available, allocated, under-maintenance assets, active bookings), overdue allocation alerts, pending transfer requests, personal asset allocations, and a quick-action to raise maintenance requests.

2. Organization Setup (Admin only)

Manage departments (with hierarchy and manager assignment), asset categories (with custom fields), and employees (create, edit, promote, activate/deactivate accounts).

3. Asset Directory

Searchable, filterable asset registry with inline detail views. View complete asset history, custom field data, and lifecycle status. Managers+ can register new assets.

4. Asset Allocation

Allocate available assets to employees, process returns with condition check-in, and manage transfer requests through an approval workflow.

5. Resource Bookings

Book shared resources (conference rooms, vehicles) with real-time overlap detection. View, cancel, or complete bookings across a time-slot system.

6. Maintenance

Raise, approve, assign, and resolve maintenance tickets. Full ticket lifecycle with priority management and technician assignment.

7. Audit Cycles

Create audit cycles scoped by department or location, assign auditors, verify individual assets, track discrepancies, and close cycles with automatic lifecycle updates.

8. Reports & Analytics

Visual summaries and data tables for asset utilization, booking patterns, maintenance history, and audit outcomes.

9. Notifications

Centralized notification center with per-user filtering, read/unread status, and mark-all-as-read functionality.


πŸ—οΈ Architecture

AssetFlow/
β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ favicon.svg          # App favicon (3D isometric logo)
β”‚   └── icons.svg            # SVG icon sprite
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ context/
β”‚   β”‚   └── AppContext.jsx   # Global state - all business logic, CRUD, and localStorage sync
β”‚   β”œβ”€β”€ views/
β”‚   β”‚   β”œβ”€β”€ LoginSignup.jsx         # Authentication (login + registration)
β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx           # KPI dashboard with quick actions
β”‚   β”‚   β”œβ”€β”€ OrgSetup.jsx            # Department, category & employee management
β”‚   β”‚   β”œβ”€β”€ AssetDirectory.jsx      # Asset registry with search & filters
β”‚   β”‚   β”œβ”€β”€ AssetAllocation.jsx     # Allocation, return & transfer workflows
β”‚   β”‚   β”œβ”€β”€ ResourceBooking.jsx     # Shared resource booking with overlap detection
β”‚   β”‚   β”œβ”€β”€ Maintenance.jsx         # Maintenance ticket lifecycle
β”‚   β”‚   β”œβ”€β”€ AssetAudit.jsx          # Audit cycle management
β”‚   β”‚   β”œβ”€β”€ ReportsAnalytics.jsx    # Reports & data analytics
β”‚   β”‚   └── ActivityNotifications.jsx # Notification center
β”‚   β”œβ”€β”€ App.jsx              # App shell - sidebar navigation, routing, toast system
β”‚   β”œβ”€β”€ App.css              # Component-specific styles
β”‚   β”œβ”€β”€ index.css            # Global design system (tokens, animations, glassmorphism)
β”‚   └── main.jsx             # React entry point
β”œβ”€β”€ index.html               # HTML entry point with SEO meta tags
β”œβ”€β”€ vite.config.js           # Vite configuration with base path
β”œβ”€β”€ package.json             # Dependencies and scripts
└── .gitignore

Design Patterns

  • Centralized State - Single AppContext provider manages all application state with useState + useEffect for localStorage persistence
  • Role-Based Rendering - Navigation items and view actions are conditionally rendered based on currentUser.role
  • Immutable History - Asset history entries are prepended (newest-first) and never modified
  • Notification System - Cross-cutting concern: actions in any module can generate user-targeted notifications
  • Toast System - Ephemeral feedback toasts with type-based styling (success, error, warning, info)

🚒 Deployment

The app is deployed to GitHub Pages at:

πŸ”— https://scorzion.github.io/AssetFlow/

To deploy your own instance:

# Build and deploy to gh-pages branch
npm run deploy

This runs vite build followed by gh-pages -d dist, pushing the dist/ folder to the gh-pages branch.


πŸ‘₯ Contributors & Team

We are a team of students from the Indian Institute of Science Education and Research, Bhopal (IISERB). Collaborating under the fast-paced environment of the hackathon, we combined our individual strengths to build a clean, production-ready frontend architecture:

  • Aryan Sanjot (Core Frontend Architect)
    • Architected the central React state engine and global data relationships (AppContext), built the modular routing logic, and designed the LoginSignup user onboarding views.
  • Antriksh Gangwar (UI/UX Designer & Data Architect)
    • Engineered the executive Dashboard's KPI metrics, implemented custom responsive layout variables, crafted analytical reporting views, and designed the cross-cutting notifications pipeline.
  • Mohit Kumawat (Asset Lifecycle & Operations Engineer)
    • Designed the core Asset Directory, custom category field mappings, full inventory registration, and implemented the granular asset state transition models.
  • Sourav Sharma (Scorzion) (Lead Integrator & DevOps Engineer)
    • Integrated cross-component workflows (checkout/check-in, resource booking with overlap validation, asset transfers), created custom visual brand assets, and managed CI/CD deployment pipelines.

πŸ“„ License

This project was developed as a hackathon submission for the Odoo Hackathon 2026.


Built with AssetFlow Logo by the IISERB Team

About

AssetFlow is an enterprise asset and resource management system (ERP prototype) built under Odoo Hackathon 2026. Tracks physical assets, audit cycles, maintenance ticketing, and resource booking overlaps.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors