Costify is a modern construction project expense management application built with Flutter. It enables construction professionals to efficiently manage project budgets, track expenses in real-time, and collaborate with team members across projects.
- Overview
- Key Features
- Architecture
- Tech Stack
- Installation
- Project Structure
- Core Features in Detail
- Authentication
- Database Schema
- Contributing
- License
Costify is designed specifically for construction project managers, directors, and stakeholders who need to:
- Create and manage construction projects with detailed budgets
- Track project expenses in real-time with receipt uploads
- Collaborate with team members through role-based access control
- Monitor budget utilization and get alerts for overbudget projects
- Generate reports and insights about project spending
- Manage stakeholders with different permission levels (Admin, Director, Labour)
The application is built as a cross-platform mobile app (Android & iOS) with a responsive Material 3 design and supports both online and offline modes.
- Create new construction projects with budgets and timelines
- Set project start and end dates
- Add project descriptions and images
- Track active, completed, on-hold, and cancelled projects
- Real-time project updates using Firestore
- Add expenses with categories and payment methods
- Upload receipt images for documentation
- Automatic image compression for storage optimization
- Track expense status and approval workflows
- Detailed expense history and analytics
- Set project budgets and monitor spending
- Real-time budget utilization percentage
- Over-budget alerts and notifications
- Remaining budget calculations
- Budget vs. actual expense comparisons
- Invite team members via email links
- Role-based access control:
- Admin: Full project control and management
- Director: Can manage expenses with configurable permissions
- Labour: Can view project details and submit expenses
- Member management with add/remove capabilities
- Permission controls for directors (delete expenses, delete members)
- Email & password authentication
- Google Sign-In integration
- Email verification for new accounts
- Two-Factor Authentication (2FA) with OTP
- Secure token management
- Password reset functionality
- Real-time push notifications via Firebase Cloud Messaging
- Local notifications for important events
- Expense approval notifications
- Budget alerts and reminders
- Team activity updates
- Generate expense reports
- Budget utilization insights
- Spending trends and patterns
- PDF export functionality for reports
- Monthly and custom date range reports
- User profile management
- Email and password updates
- Theme customization (Light/Dark mode)
- Notification preferences
- Account security settings
- Connectivity monitoring
- Offline data caching
- Automatic sync when online
- Graceful error handling
Costify follows a Clean Architecture pattern with clear separation of concerns: