Ex Forcast
ex forcast with Vue Integration
- Author: NeverKnewNoble
- Repository: https://github.com/NeverKnewNoble/ex_forcast
- GitHub stars: 0
- Forks: 0
- License: MIT
- Category: HR & Payroll
- Maintenance: Minimally Maintained
Install Ex Forcast
bench get-app https://github.com/NeverKnewNoble/ex_forcast
Add the Frappe Gems badge to your README
Maintain Ex Forcast? Paste this into your README:
[](https://frappegems.com/gems/apps/NeverKnewNoble/ex_forcast)
About Ex Forcast
Ex Forecast - Business Forecasting Application
A comprehensive business forecasting application built with Vue.js frontend and Python backend, designed to help businesses make data-driven decisions through advanced financial projections and analytics.
📋 Table of Contents
- Overview
- Features
- Front-end User Documentation
- Development Documentation
- Installation
- Contributing
- License
🎯 Overview
Ex Forecast is a modern business forecasting application that provides comprehensive financial planning and analysis tools. The application combines real-time data processing with intuitive user interfaces to deliver actionable insights for business decision-making.
Key Capabilities
- Revenue Forecasting: Room revenue, F&B revenue, and banquet revenue projections
- Expense Management: Comprehensive expense estimation and tracking
- Payroll Analytics: Department-wise payroll analysis and projections
- Real-time Dashboards: Interactive analytics and reporting
- Multi-project Support: Manage multiple forecasting projects simultaneously
✨ Features
Core Forecasting Modules
- Room Revenue Forecasting: Market segment analysis and room package management
- F&B Revenue Projections: Restaurant and food service revenue planning
- Banquet Revenue Management: Event and banquet service forecasting
- Expense Estimation: Comprehensive cost analysis and budgeting
- Payroll Analytics: Department and designation-based payroll projections
Technical Features
- Modern UI/UX: Built with Vue.js 3 and Tailwind CSS
- Real-time Updates: Live data synchronization and updates
- Responsive Design: Mobile-first responsive interface
- Data Visualization: Interactive charts and analytics
- Multi-user Support: Role-based access and permissions
📖 Front-end User Documentation
🚀 Getting Started
Accessing the Application
- Navigate to the application URL
- Log in with your credentials
- Select your project from the project dropdown
- Start exploring the dashboard
Navigation Overview
The application features a clean, intuitive navigation system: - Dashboard: Overview and key metrics - Room Revenue: Room forecasting and market analysis - F&B Revenue: Food and beverage projections - Banquet Revenue: Event and banquet planning - Expense Estimate: Cost analysis and budgeting - OOD Data: Out-of-door data management - Reports: Comprehensive reporting and analytics
📊 Dashboard
Overview
The dashboard provides a comprehensive overview of your forecasting project with: - Project Status: Active project information and metrics - Key Statistics: Real-time data cards showing important metrics - Quick Actions: Fast access to main forecasting modules - Recent Activity: Latest updates and changes
Key Features
- Project Selector: Switch between different forecasting projects
- Live Metrics: Real-time updates of key performance indicators
- Quick Navigation: Direct access to all major modules
- Status Indicators: Visual status of data completeness and accuracy
🏨 Room Revenue Forecasting
Purpose
Manage and forecast room revenue based on market segments, occupancy rates, and pricing strategies.
Key Functions
- Market Segment Analysis: Define and manage market segments
- Room Package Management: Create and manage room packages
- Revenue Projections: Generate detailed revenue forecasts
- Occupancy Planning: Plan and track occupancy rates
- Pricing Strategy: Implement dynamic pricing strategies
Data Entry
- Market Segments: Define your target market segments
- Room Packages: Create packages with pricing and features
- Occupancy Rates: Set expected occupancy for each segment
- Revenue Assumptions: Configure revenue calculation parameters
🍽️ F&B Revenue Forecasting
Purpose
Forecast food and beverage revenue across different outlets and services.
Key Functions
- Restaurant Management: Manage multiple restaurant outlets
- Revenue Projections: Calculate F&B revenue forecasts
- Menu Analysis: Analyze menu performance and pricing
- Service Planning: Plan service capacity and staffing
Data Entry
- Restaurant Setup: Configure restaurant outlets and services
- Revenue Assumptions: Set revenue calculation parameters
- Service Planning: Define service hours and capacity
- Menu Analysis: Input menu items and pricing
🎉 Banquet Revenue Forecasting
Purpose
Plan and forecast revenue from events, conferences, and banquet services.
Key Functions
- Event Planning: Schedule and manage events
- Revenue Projections: Calculate banquet revenue forecasts
- Capacity Planning: Plan venue capacity and staffing
- Service Packages: Create and manage service packages
Data Entry
- Event Setup: Configure event types and services
- Revenue Assumptions: Set revenue calculation parameters
- Capacity Planning: Define venue capacity and availability
- Service Packages: Create banquet service packages
💰 Expense Estimation
Purpose
Comprehensive expense planning and cost analysis for business operations.
Key Functions
- Cost Categories: Organize expenses by categories
- Budget Planning: Set and track budget allocations
- Expense Tracking: Monitor actual vs. planned expenses
- Variance Analysis: Analyze budget variances and trends
Data Entry
- Expense Categories: Define expense categories and subcategories
- Budget Allocation: Set budget amounts for each category
- Cost Assumptions: Configure cost calculation parameters
- Variance Tracking: Monitor actual vs. planned expenses
👥 Payroll Analytics
Purpose
Analyze and forecast payroll expenses by department and designation.
Key Functions
- Department Analysis: Track payroll by department
- Designation Planning: Plan staffing by job roles
- Cost Projections: Forecast payroll expenses
- Staffing Optimization: Optimize staffing levels
Data Entry
- Department Setup: Configure departments and structure
- Designation Management: Define job roles and responsibilities
- Payroll Assumptions: Set salary and benefit parameters
- Staffing Plans: Plan headcount by department
📈 Reports and Analytics
Available Reports
- Revenue Reports: Comprehensive revenue analysis
- Expense Reports: Detailed expense breakdowns
- Payroll Reports: Department-wise payroll analysis
- Variance Reports: Actual vs. planned comparisons
- Trend Analysis: Historical data and trend analysis
Export Options
- PDF Reports: Generate printable reports
- Excel Export: Export data for further analysis
- Data Visualization: Interactive charts and graphs
🔧 Development Documentation
🏗️ Architecture Overview
Technology Stack
- Frontend: Vue.js 3, Tailwind CSS, Vite
- Backend: Python (Frappe Framework)
- Database: MySQL/PostgreSQL
- Build Tool: Vite
- Package Manager: Yarn/NPM
Project Structure
ex_forcast/
├── ex_forcast/ # Backend Python application
│ ├── api/ # API endpoints
│ ├── config/ # Configuration files
│ ├── hooks.py # Application hooks
│ └── public/ # Static assets
├── forcast_desk/ # Frontend Vue.js application
│ ├── src/
│ │ ├── components/ # Vue components
│ │ ├── pages/ # Page components
│ │ ├── router.js # Vue router configuration
│ │ └── main.js # Application entry point
│ ├── public/ # Static assets
│ └── package.json # Frontend dependencies
└── README.md # This documentation
🚀 Development Setup
Prerequisites
- Node.js 16+ and Yarn/NPM
- Python 3.8+
- Frappe Framework
- MySQL/PostgreSQL
Installation Steps
1. Backend Setup
# Navigate to the project directory
cd ex_forcast
# Install Python dependencies
pip install -r requirements.txt
# Setup Frappe environment
bench setup requirements
bench migrate
2. Frontend Setup
# Navigate to frontend directory
cd forcast_desk
# Install dependencies
yarn install
# Start development server
yarn dev
3. Build Process
# Build frontend for production
yarn build
# The build process will:
# 1. Build Vue.js application
# 2. Copy assets to backend public directory
# 3. Generate HTML entry point
📁 Code Organization
Frontend Structure
forcast_desk/src/
├── components/ # Reusable Vue components
├── pages/ # Page-level components
│ ├── Dashboard.vue # Main dashboard
│ ├── Room_Revenue.vue # Room forecasting
│ ├── F&B_Revenue_Assumpt.vue # F&B forecasting
│ ├── Banquet_Revenue.vue # Banquet forecasting
│ ├── Expense_Estimate.vue # Expense management
│ └── OOD_Data.vue # Out-of-door data
├── router.js # Vue router configuration
├── main.js # Application entry point
└── index.css # Global styles
Backend Structure
ex_forcast/
├── api/ # API endpoints
│ ├── room_revenue_display.py
│ ├── call_and_save_fnb_revenue.py
│ ├── call_and_save_banquet_revenue.py
│ ├── expense_estimate.py
│ └── payroll_*.py # Payroll-related APIs
├── config/ # Configuration files
├── hooks.py # Application hooks
└── public/ # Static assets
## 🎨 UI/UX Guidelines
### Design System
- **Framework**: Tailwind CSS
- **Icons**: Lucide Vue Next
- **Color Scheme**: Violet/Purple gradient theme
- **Typography**: Modern, clean typography
### Component Guidelines
- **Responsive Design**: Mobile-first approach
- **Accessibility**: WCAG 2.1 compliance
- **Performance**: Optimized for fast loading
- **User Experience**: Intuitive navigation and interactions
### Styling Conventions
```css
/* Use Tailwind utility classes */
.class-name {
@apply bg-gradient-to-r from-violet-600 to-purple-600;
}
/* Custom animations */
@keyframes fade-in-up {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
🧪 Testing
Frontend Testing
# Run unit tests
yarn test
# Run component tests
yarn test:unit
# Run E2E tests
yarn test:e2e
Backend Testing
# Run Python tests
bench run-tests ex_forcast
# Run specific test file
bench run-tests ex_forcast.tests.test_api
🚀 Deployment
Production Build
# Build frontend
cd forcast_desk
yarn build
# Deploy backend
bench deploy
Environment Configuration
# Set environment variables
export NODE_ENV=production
export VITE_API_BASE_URL=https://your-api-domain.com
🔧 Development Workflow
Code Standards
- Vue.js: Follow Vue 3 Composition API patterns
- Python: Follow PEP 8 style guidelines
- Git: Conventional commit messages
- Documentation: Inline code documentation
Git Workflow
# Feature development
git checkout -b feature/new-feature
git add .
git commit -m "feat: add new forecasting feature"
git push origin feature/new-feature
# Create pull request for review
Code Review Checklist
- [ ] Code follows project conventions
- [ ] Tests are included and passing
- [ ] Documentation is updated
- [ ] No console.log statements in production
- [ ] Error handling is implemented
- [ ] Performance considerations addressed
🐛 Troubleshooting
Common Issues
Frontend Build Issues
# Clear node modules and reinstall
rm -rf node_modules package-lock.json
yarn install
# Clear Vite cache
yarn dev --force
Backend API Issues
# Restart Frappe server
bench restart
# Clear cache
bench clear-cache
# Check logs
bench tail-logs
Datab
Related HR & Payroll apps for Frappe & ERPNext
- Hrms — Open Source HR and Payroll Software
- Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
- Bookings — Hotel Management App for Erpnext
- Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
- Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
- Check Run — Payables utility for ERPNext
- Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
- Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.