A desktop application for managing school finances built with Tauri, React, and SQLite.
- React 18 - UI library
- TypeScript - Type safety
- Tailwind CSS - Styling
- React Router - Navigation
- Zustand - State management
- Vite - Build tool
- Rust - Backend logic via Tauri
- Tauri - Desktop application framework
- SQLite - Local database
- SQLx - SQL toolkit
- ✅ Daily budget tracking
- ✅ Transaction management (income/expenses)
- ✅ Real-time budget alerts
- ✅ Search and filter transactions
- ✅ Arabic RTL support
- ✅ Responsive design
- 🔄 PDF export (coming soon)
- 🔄 Advanced reporting (coming soon)
- Node.js (v18+)
- Rust (latest stable)
- npm or yarn
- Install dependencies:
npm install- Run in development mode:
npm run tauri:dev- Build for production:
npm run tauri:buildinvio/
├── src/ # React frontend
│ ├── components/ # Reusable components
│ ├── pages/ # Page components
│ ├── store/ # Zustand state management
│ ├── App.tsx # Main app component
│ └── main.tsx # Entry point
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands.rs # Tauri commands
│ │ ├── db.rs # Database setup
│ │ ├── models.rs # Data models
│ │ └── main.rs # Entry point
│ ├── migrations/ # SQL migrations
│ └── Cargo.toml # Rust dependencies
└── package.json # Node dependencies
npm run dev- Start Vite dev servernpm run build- Build frontendnpm run tauri:dev- Run Tauri in developmentnpm run tauri:build- Build Tauri application
id- Primary keyperson_name- Name of the personperson_avatar- Avatar URL (optional)category- Transaction categoryamount- Amount in currencytransaction_type- 'income' or 'expense'reason- Description/reasonresponsible_person- Responsible person (optional)created_at- Timestamp
MIT
Sajid