Skip to content

devxnshsharma/UnMessify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 UNMESSIFY

Smart Paid Mess Credits Planner & Decision Support System

UNMESSIFY is a web-based decision support application that helps students optimize their paid mess credit usage through data-driven insights, predictive analytics, and actionable recommendations.

Status Version License

Problem Statement

Students on paid mess plans receive ~₹6,000–₹6,500 credits monthly. Without proper tracking:

  • Credits often run out before month-end
  • Students must pay real money for remaining days
  • Longer queues and reduced food availability

UNMESSIFY solves this by converting raw spending data into predictive insights and actionable recommendations.

Features

Feature Description
Adaptive Daily Safe Limit Dynamic calculation based on remaining credits, burn rate, and risk tolerance
Multi-Window Burn Rate Overall, 7-day, and 3-day burn rate analysis
Predictive Engine Credit exhaustion date prediction with confidence levels
Rule-Based Advice 9 transparent, explainable recommendation rules
Visual Analytics Interactive Chart.js visualizations
Risk Indicators Color-coded status (Safe/Watch/Danger)
LocalStorage Persistence Data persists across sessions
Export/Import Backup and restore your data as JSON

Visualiser page

Image Image Image Image Image Image

Architecture

┌─────────────────────────────────────────────────────────────┐
│                        UNMESSIFY                            │
├─────────────────────────────────────────────────────────────┤
│  UI Layer (index.html + styles.css)                         │
│  ├── Header with Status Strip                               │
│  ├── Dashboard (3-column layout)                            │
│  │   ├── Col 1: Today & This Month (Spend, Burn, Progress)  │
│  │   ├── Col 2: Predictions (Exhaustion, Outlook, Streak)   │
│  │   └── Col 3: Smart Advice (Tips, Categories, Simulator)  │
│  ├── Tabbed Forms (Setup, Expense, Preferences)             │
│  └── History Section                                        │
├─────────────────────────────────────────────────────────────┤
│  Logic Layer (app.js)                                       │
│  ├── Data Models (UserProfile, ExpenseEntry, DerivedData)   │
│  ├── Calculation Engine (Burn Rate, Safe Limit, Predictions)│
│  └── Advice Engine (9 Rule-Based Recommendations)           │
├─────────────────────────────────────────────────────────────┤
│  Visualization Layer (charts.js)                            │
│  ├── Daily Spending Trend (Line Chart)                      │
│  ├── Category Breakdown (Donut Chart)                       │
│  └── Credit Depletion (Area Chart)                          │
├─────────────────────────────────────────────────────────────┤
│  Storage Layer (LocalStorage)                               │
│  └── unmessify_state_v1                                     │
└─────────────────────────────────────────────────────────────┘

Data Models

UserProfile

{
  userType: "hostel_student" | "day_scholar",
  monthlyCredits: number,        // e.g., 6000
  monthDays: number,             // e.g., 30
  startDate: "YYYY-MM-DD",
  preferences: {
    riskTolerance: "low" | "medium" | "high",
    weekendBoost: boolean,
    examMode: boolean,
    maxSpendPerDay: number | null,
    vegetarian: boolean,
    notificationThresholds: { warning: 0.7, danger: 0.9 }
  }
}

ExpenseEntry

{
  id: string,                    // UUID
  date: "YYYY-MM-DD",
  mealType: "breakfast" | "lunch" | "snacks" | "dinner" | "other",
  itemType: "chicken" | "paneer" | "veg" | "dessert" | "beverage" | "other",
  quantity: number,
  cost: number,
  notes: string | null
}

Core Calculations

Daily Safe Limit

base = remainingCredits / remainingDays
adjusted = base / √(overshootRatio)    // if spending > ideal
final = adjusted × toleranceFactor × modeBoosts

Burn Rate Analysis

  • Overall: totalSpent / daysElapsed
  • 7-Day: Last 7 days average (primary for predictions)
  • 3-Day: Recent trend detection

Risk Level Determination

  • Safe: Credits usage ≤ time elapsed + 5%
  • Watch: Usage 5-15% ahead of schedule
  • Danger: Usage >15% ahead OR exhaustion before month-end

Forms & Validation

Form Fields Validation
Credit Setup Monthly credits, days, start date, user type Credits: ₹3,000-₹10,000; Days: 28-31
Expense Entry Date, meal, item type, quantity, cost Date within month, not future; Cost: ₹1-₹2,000
Preferences Risk tolerance, daily cap, modes, thresholds Logical bounds, live preview

Quick Start

  1. Clone or download this repository
  2. Open index.html in any modern browser
  3. Set up your profile with monthly credits and start date
  4. Add expenses as you make purchases
  5. Monitor dashboard for insights and recommendations

No build process or server required!

Browser Support

  • Chrome 80+
  • Firefox 75+
  • Safari 13+
  • Edge 80+

Dependencies

Future Scope

  • Mess menu API integration
  • Browser push notifications for risk changes
  • Nutrition tracking and analysis
  • ML-based anomaly detection
  • Mobile app (React Native / Flutter)
  • Multi-month trend analysis

License

MIT License - feel free to use and modify for your needs.


Made with ❤️ for mess-going students everywhere

About

mess credit tracking web application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors