Skip to content

mitanshu-bhasin/ipec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

33 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

IPEC Consulting Logo

IPEC Expense Manager

The Official Expense Tracking & Reimbursement Portal for IPEC Consulting

Live Demo PWA Ready License


πŸ“Œ Overview

IPEC Expense Manager is a comprehensive, progressive web application (PWA) designed to streamline financial operations for the International Process Excellence Council. It facilitates seamless expense submission for employees and provides robust approval workflows for administrators β€” all with offline capability and real-time sync.


✨ Features

πŸ‘€ Employee Portal (emp.html)

  • Dashboard β€” View total paid/pending claims at a glance
  • Create Claim β€” Modal form with receipt upload (ImageKit/Firebase), multi-currency support, and expense categorization
  • Claim History β€” Searchable list of all submitted claims with status badges
  • Profile Management β€” Edit personal details and download personal data (GDPR-ready)

πŸ›‘οΈ Admin Command Center (admin.html)

  • Approval Workflow β€” Review pending claims, view receipts, and Approve/Reject with comments
  • Analytics β€” Visual charts (Chart.js) for spending by category/month
  • User Management β€” Add/Edit/Remove system users and assign roles
  • Project Management β€” Create and manage billing codes/projects
  • Audit Logs β€” Detailed timeline of all system actions for compliance

🌐 Platform

  • PWA β€” Installable on Android, iOS, Windows, and macOS with full offline support
  • Role-Based Access Control β€” Separate, secure portals for Employees and Administrators
  • Real-Time Sync β€” Instant updates via Firebase Firestore
  • AI Assistant β€” Built-in AI chatbot for policy queries and support
  • Direct Chat β€” Integrated messaging system for internal communication
  • PDF Reports β€” Generate and download expense reports as PDF

πŸ› οΈ Tech Stack

Layer Technology
Frontend HTML5, Vanilla JavaScript (ES6+), Tailwind CSS
Backend Firebase (Firestore, Auth, Storage, Cloud Functions)
Media Storage ImageKit.io
Charts Chart.js
PDF Export html2pdf.js
Hosting Netlify
PWA Service Worker (Network-first + Cache-first strategies)

πŸš€ Getting Started

Prerequisites

  • A modern browser (Chrome, Edge, Firefox, or Safari)
  • A Firebase project with Firestore, Auth, and Storage enabled
  • Node.js (only required for Cloud Functions in /functions)

Installation

  1. Clone the repository

    git clone https://github.com/your-username/expense-tracker.git
    cd expense-tracker
  2. Deploy Cloud Functions (optional)

    cd functions
    npm install
    firebase deploy --only functions
  3. Run locally

    Serve the project using any static file server:

    npx serve .

    Then open http://localhost:3000 in your browser.

  4. Deploy to Netlify

    Push to your connected GitHub repo β€” Netlify will auto-deploy. The _redirects file handles SPA routing automatically.


πŸ“‚ Project Structure

β”œβ”€β”€ assets/
β”‚   └── images/              # All image assets
β”‚       β”œβ”€β”€ ipec.jpg         # Brand logo (PWA icon, apple-touch-icon)
β”‚       β”œβ”€β”€ cropped-ipec-logo-32x32.png  # Favicon
β”‚       └── s1.png, s2.png, s3.png       # PWA screenshots
β”‚
β”œβ”€β”€ css/
β”‚   └── common.css           # Shared styles
β”‚
β”œβ”€β”€ js/
β”‚   β”œβ”€β”€ theme.js             # Dark/Light mode toggle
β”‚   β”œβ”€β”€ utils.js             # Shared utility functions
β”‚   β”œβ”€β”€ admin-helper.js      # Admin-specific calculations
β”‚   β”œβ”€β”€ ai-support.js        # AI chatbot widget logic
β”‚   β”œβ”€β”€ firebase-config.js   # Firebase initialization
β”‚   β”œβ”€β”€ spam-filter.js       # Spam detection for messaging
β”‚
β”œβ”€β”€ scripts/                 # Build & maintenance scripts (Python)
β”‚   β”œβ”€β”€ make_common_css.py
β”‚   β”œβ”€β”€ update_admin_emp.py
β”‚   └── update_index.py
β”‚
β”œβ”€β”€ functions/               # Firebase Cloud Functions
β”‚   β”œβ”€β”€ index.js
β”‚   └── package.json
β”‚
β”œβ”€β”€ index.html               # Landing page (public entry point)
β”œβ”€β”€ emp.html                 # Employee portal
β”œβ”€β”€ admin.html               # Admin command center
β”œβ”€β”€ 404.html                 # Custom "Page Not Found"
β”œβ”€β”€ offline.html             # Offline fallback page
β”‚
β”œβ”€β”€ sw.js                    # Service worker (PWA)
β”œβ”€β”€ firebase-messaging-sw.js # FCM worker
β”œβ”€β”€ manifest.json            # Web App Manifest
β”œβ”€β”€ firestore.rules          # Firestore security rules
β”‚
β”œβ”€β”€ .well-known/             # security.txt
β”œβ”€β”€ robots.txt, sitemap.xml  # SEO
β”œβ”€β”€ _redirects               # Netlify routing
β”œβ”€β”€ feed.xml, opensearch.xml # RSS & search
β”œβ”€β”€ browserconfig.xml        # Windows tile config
β”œβ”€β”€ humans.txt               # Team credits
└── LICENSE                  # MIT License

πŸ”’ Security

  • Firebase Rules β€” Firestore rules (firestore.rules) ensure authenticated access only
  • Security Policy β€” Standardized security.txt in .well-known/
  • Input Validation β€” Spam filtering on messaging features

🀝 Contributing

Contributions are welcome! To get started:

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code follows the existing style and conventions.


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


Made with ❀️ by Mitanshu Bhasin for IPEC Consulting
Β© 2026 International Process Excellence Council. All Rights Reserved.

About

Enterprise-grade Expense Management System with a modular architecture. Built using Firebase, optimized for performance via Netlify, and featuring a refined UI/UX for seamless financial tracking.

Topics

Resources

License

MIT, Unknown licenses found

Licenses found

MIT
LICENSE
Unknown
license.html

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors