A Flutter application for managing SIM card registrations and customer data. SimBook provides an intuitive interface for registering new customers, searching existing records, and viewing data in a spreadsheet format.
-
Customer Registration: Register new customers with comprehensive details including:
- Personal information (name, phone numbers)
- SIM card details (number, provider)
- Identity proof information
- Address proof information
- Current and permanent addresses
-
Search Functionality: Search customers by:
- Name
- ID proof number
- Registration date
-
Spreadsheet View: View all customer data in a tabular format
-
Cross-Platform Support: Runs on Android, iOS, Windows, macOS, and Linux
- Framework: Flutter 3.7.2+
- Database: SQLite with sqflite package
- Platform Support: Multi-platform (Android, iOS, Desktop)
flutter: Flutter SDKcupertino_icons: iOS style iconssqflite: SQLite database for Flutterpath: Path manipulation utilitiessqflite_common_ffi: SQLite support for desktop platforms
- Flutter SDK (3.7.2 or higher)
- Dart SDK
- Android Studio / VS Code with Flutter extensions
- For desktop development: Platform-specific requirements
-
Clone the repository
git clone <repository-url> cd simbook
-
Install dependencies
flutter pub get
-
Run the application
flutter run
- Ensure Android SDK is installed
- Connect an Android device or start an emulator
- Run:
flutter run -d android
- Requires macOS with Xcode installed
- Connect an iOS device or start a simulator
- Run:
flutter run -d ios
- Enable desktop support:
flutter config --enable-windows-desktop flutter config --enable-macos-desktop flutter config --enable-linux-desktop
- Run:
flutter run -d windows,flutter run -d macos, orflutter run -d linux
lib/
├── main.dart # Application entry point
├── database_helper.dart # SQLite database operations
└── screens/
├── home_screen.dart # Main navigation screen
├── registration_screen.dart # Customer registration form
├── search_screen.dart # Search functionality
├── spreadsheet_screen.dart # Data table view
└── simbook_drawer.dart # Navigation drawer
The application uses SQLite to store customer information with the following schema:
CREATE TABLE customers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
phone TEXT NOT NULL,
simNumber TEXT NOT NULL,
simProvider TEXT NOT NULL,
registrationDate TEXT NOT NULL,
idProofType TEXT NOT NULL,
idProofNumber TEXT NOT NULL,
addressProofType TEXT NOT NULL,
addressProofNumber TEXT NOT NULL,
currentAddress TEXT NOT NULL,
permanentAddress TEXT NOT NULL,
altPhone TEXT NOT NULL
);flutter build apk --releaseflutter build appbundle --releaseflutter build ios --release# Windows
flutter build windows --release
# macOS
flutter build macos --release
# Linux
flutter build linux --release- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions, please open an issue in the repository.