A modern Flutter-based employee directory and management application designed to organize, search, manage, and analyze employee information through a clean and scalable architecture.
The application includes employee management, organizational groups, advanced search and filtering, statistics, admin controls, Excel import/export, backup functionality, and Supabase backend integration.
- ๐ค View employee information
- ๐ Add new employees
- โ๏ธ Edit employee information
- ๐๏ธ Manage employee records
- ๐ผ๏ธ Employee profile images
- ๐ Quick contact actions
- ๐ Search employees
- ๐ท๏ธ Filter employees by groups
- ๐ฏ Advanced filtering
- ๐ Display filtered employee lists
- ๐ข Organizational groups
- ๐ณ Hierarchical group structure
- ๐ Group details
- ๐ Group-based employee filtering
- ๐ School/group statistics
- ๐ Admin authentication
- ๐ ๏ธ Admin dashboard
- ๐ฅ Employee management
- โ Add employees
- โ๏ธ Edit employees
- ๐ Employee list management
- ๐ Employee statistics
- ๐ Group statistics
- ๐ข School statistics
- ๐ข Data-based statistical views
- ๐ฅ Import employee data from Excel
- ๐ค Export employee data to Excel
- ๐ Excel template generation
- ๐พ Data backup
- ๐ File management
- ๐๏ธ Supabase database
- ๐ Authentication
- ๐ฆ Supabase Storage
- ๐ผ๏ธ Image upload and management
- ๐ Cloud-based data management
- ๐ฑ Responsive Flutter interface
- ๐จ Custom application theme
- ๐ Centralized color system
- ๐งฉ Reusable widgets
- โณ Loading states
โ ๏ธ Error states- ๐ญ Empty states
| Technology | Usage |
|---|---|
| ๐ Flutter | Cross-platform application development |
| ๐ฏ Dart | Programming language |
| ๐ง Riverpod | State management |
| ๐งญ GoRouter | Navigation and routing |
| โ๏ธ Supabase | Backend and database |
| ๐๏ธ Supabase Storage | File and image storage |
| ๐ผ๏ธ Cached Network Image | Network image caching |
| ๐จ Flutter SVG | SVG rendering |
| ๐ URL Launcher | External links and contact actions |
| ๐ Excel | Excel data processing |
| ๐ File Picker | File selection |
| ๐พ File Saver | File saving and export |
| ๐ Intl | Date and number formatting |
The project follows a feature-based architecture to keep the codebase modular, maintainable, and scalable.
lib/
โ
โโโ app/
โ โโโ app.dart
โ โโโ app_initializer.dart
โ โโโ colors.dart
โ โโโ router.dart
โ โโโ theme.dart
โ โโโ theme_provider.dart
โ
โโโ core/
โ โโโ constants/
โ โ โโโ supabase_constants.dart
โ โ
โ โโโ services/
โ โโโ supabase_service.dart
โ
โโโ features/
โ โโโ admin/
โ โโโ auth/
โ โโโ categories/
โ โโโ employee/
โ โโโ groups/
โ โโโ home/
โ โโโ import_export/
โ โโโ menu/
โ โโโ search/
โ โโโ settings/
โ โโโ splash/
โ โโโ statistics/
โ
โโโ shared/
โ โโโ models/
โ โโโ providers/
โ โโโ repositories/
โ โโโ widgets/
โ
โโโ main.dart
Provides the main employee directory with search, filtering, employee cards, and group filters.
Handles employee details, profile information, and contact actions.
Provides administrative tools for managing employee records.
Handles admin authentication and access control.
Manages organizational groups and hierarchical structures.
Provides employee search and filtering functionality.
Displays employee and organizational statistics.
Provides Excel import, export, templates, and backup functionality.
git clone https://github.com/CodeminTech/EduDirectory.gitcd edudirectory3flutter pub getCreate a Supabase project and configure the required project URL and public client key in the appropriate configuration file.
lib/core/constants/supabase_constants.dart
flutter runEduDirectory uses Supabase as its backend platform.
The backend is responsible for:
- ๐๏ธ Employee data
- ๐ฅ User information
- ๐ข Organizational groups
- ๐ Authentication
- ๐ผ๏ธ Image storage
- ๐ฆ File storage
The application supports multiple ways to manage employee information:
๐ค Manual Management
โ
๐ฅ Excel Import
โ
โ๏ธ Supabase Database
โ
๐ Statistics
โ
๐ค Excel Export
โ
๐พ Backup
The application uses Riverpod to manage application state.
Providers are separated according to their responsibilities, including:
- ๐ค Employee state
- ๐ฅ User state
- ๐ข Group state
- ๐ท๏ธ Category state
- ๐ Search state
- ๐ Statistics state
- โ๏ธ Filters
This separation helps keep business logic independent from the UI.
Application navigation is handled using GoRouter, providing structured routing between:
- ๐ Home
- ๐ค Employee details
- ๐ข Groups
- ๐ Statistics
- ๐ Admin login
- ๐ ๏ธ Admin panel
- โ๏ธ Settings
- ๐ฅ Import / Export
This project was developed to demonstrate practical experience with:
- ๐ Flutter application development
- ๐ง State management with Riverpod
- ๐๏ธ Feature-based architecture
- ๐๏ธ Supabase backend integration
- ๐ Authentication
- ๐ Data visualization and statistics
- ๐ฅ Excel import/export
- ๐ Search and filtering
- ๐ฑ Building scalable real-world applications
The application is designed to be extensible and can be expanded with additional features such as:
- ๐ Notifications
- ๐ More advanced analytics
- ๐ค Additional user roles
- ๐ More granular permissions
- ๐ฑ Improved responsive layouts
- ๐ Advanced synchronization
- ๐ More detailed reports
CodemonTech
Flutter Developer | Mobile Application Developer
๐ GitHub: GitHub: https://github.com/CodeminTech



