Skip to content

About

๐Ÿ“š Educational directory management application built with Flutter, Supabase & Riverpod, featuring employee management, search, filtering, statistics, categories, admin panel, and data import/export.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ“ EduDirectory

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.


โœจ Features

๐Ÿ‘ฅ Employee Management

  • ๐Ÿ‘ค View employee information
  • ๐Ÿ“ Add new employees
  • โœ๏ธ Edit employee information
  • ๐Ÿ—‘๏ธ Manage employee records
  • ๐Ÿ–ผ๏ธ Employee profile images
  • ๐Ÿ“ž Quick contact actions

๐Ÿ”Ž Search & Filtering

  • ๐Ÿ” Search employees
  • ๐Ÿท๏ธ Filter employees by groups
  • ๐ŸŽฏ Advanced filtering
  • ๐Ÿ“‹ Display filtered employee lists

๐Ÿข Groups & Organization

  • ๐Ÿข Organizational groups
  • ๐ŸŒณ Hierarchical group structure
  • ๐Ÿ“‚ Group details
  • ๐Ÿ”Ž Group-based employee filtering
  • ๐Ÿ“Š School/group statistics

๐Ÿ” Admin Panel

  • ๐Ÿ”‘ Admin authentication
  • ๐Ÿ› ๏ธ Admin dashboard
  • ๐Ÿ‘ฅ Employee management
  • โž• Add employees
  • โœ๏ธ Edit employees
  • ๐Ÿ“‹ Employee list management

๐Ÿ“Š Statistics

  • ๐Ÿ“ˆ Employee statistics
  • ๐Ÿ“Š Group statistics
  • ๐Ÿข School statistics
  • ๐Ÿ”ข Data-based statistical views

๐Ÿ“ฅ Import & Export

  • ๐Ÿ“ฅ Import employee data from Excel
  • ๐Ÿ“ค Export employee data to Excel
  • ๐Ÿ“„ Excel template generation
  • ๐Ÿ’พ Data backup
  • ๐Ÿ“ File management

โ˜๏ธ Supabase Integration

  • ๐Ÿ—„๏ธ Supabase database
  • ๐Ÿ” Authentication
  • ๐Ÿ“ฆ Supabase Storage
  • ๐Ÿ–ผ๏ธ Image upload and management
  • ๐Ÿ”„ Cloud-based data management

๐ŸŽจ UI & UX

  • ๐Ÿ“ฑ Responsive Flutter interface
  • ๐ŸŽจ Custom application theme
  • ๐ŸŒˆ Centralized color system
  • ๐Ÿงฉ Reusable widgets
  • โณ Loading states
  • โš ๏ธ Error states
  • ๐Ÿ“ญ Empty states

๐Ÿ› ๏ธ Tech Stack

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

๐Ÿ—๏ธ Architecture

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

๐Ÿงฉ Main Modules

๐Ÿ  Home

Provides the main employee directory with search, filtering, employee cards, and group filters.

๐Ÿ‘ค Employee

Handles employee details, profile information, and contact actions.

๐Ÿ‘จโ€๐Ÿ’ผ Admin

Provides administrative tools for managing employee records.

๐Ÿ” Authentication

Handles admin authentication and access control.

๐Ÿข Groups

Manages organizational groups and hierarchical structures.

๐Ÿ”Ž Search

Provides employee search and filtering functionality.

๐Ÿ“Š Statistics

Displays employee and organizational statistics.

๐Ÿ“ฅ Import / Export

Provides Excel import, export, templates, and backup functionality.


๐Ÿ–ผ๏ธ Screenshots


๐Ÿš€ Getting Started

1๏ธโƒฃ Clone the repository

git clone https://github.com/CodeminTech/EduDirectory.git

2๏ธโƒฃ Navigate to the project

cd edudirectory3

3๏ธโƒฃ Install dependencies

flutter pub get

4๏ธโƒฃ Configure Supabase

Create a Supabase project and configure the required project URL and public client key in the appropriate configuration file.

lib/core/constants/supabase_constants.dart

โš ๏ธ Never commit private or server-side Supabase keys to the repository.

5๏ธโƒฃ Run the application

flutter run

โ˜๏ธ Backend

EduDirectory uses Supabase as its backend platform.

The backend is responsible for:

  • ๐Ÿ—„๏ธ Employee data
  • ๐Ÿ‘ฅ User information
  • ๐Ÿข Organizational groups
  • ๐Ÿ” Authentication
  • ๐Ÿ–ผ๏ธ Image storage
  • ๐Ÿ“ฆ File storage

๐Ÿ“Š Data Management

The application supports multiple ways to manage employee information:

๐Ÿ‘ค Manual Management
        โ†“
๐Ÿ“ฅ Excel Import
        โ†“
โ˜๏ธ Supabase Database
        โ†“
๐Ÿ“Š Statistics
        โ†“
๐Ÿ“ค Excel Export
        โ†“
๐Ÿ’พ Backup

๐Ÿง  State Management

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.


๐Ÿงญ Navigation

Application navigation is handled using GoRouter, providing structured routing between:

  • ๐Ÿ  Home
  • ๐Ÿ‘ค Employee details
  • ๐Ÿข Groups
  • ๐Ÿ“Š Statistics
  • ๐Ÿ” Admin login
  • ๐Ÿ› ๏ธ Admin panel
  • โš™๏ธ Settings
  • ๐Ÿ“ฅ Import / Export

๐ŸŽฏ Project Goals

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

๐Ÿ”ฎ Future Improvements

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

๐Ÿ‘ฉโ€๐Ÿ’ป Developer

CodemonTech

Flutter Developer | Mobile Application Developer

๐Ÿ”— GitHub: GitHub: https://github.com/CodeminTech

About

๐Ÿ“š Educational directory management application built with Flutter, Supabase & Riverpod, featuring employee management, search, filtering, statistics, categories, admin panel, and data import/export.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages