Skip to content

PamJoshi/Simbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimBook

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.

Features

  • 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

Technology Stack

  • Framework: Flutter 3.7.2+
  • Database: SQLite with sqflite package
  • Platform Support: Multi-platform (Android, iOS, Desktop)

Dependencies

  • flutter: Flutter SDK
  • cupertino_icons: iOS style icons
  • sqflite: SQLite database for Flutter
  • path: Path manipulation utilities
  • sqflite_common_ffi: SQLite support for desktop platforms

Getting Started

Prerequisites

  • Flutter SDK (3.7.2 or higher)
  • Dart SDK
  • Android Studio / VS Code with Flutter extensions
  • For desktop development: Platform-specific requirements

Installation

  1. Clone the repository

    git clone <repository-url>
    cd simbook
  2. Install dependencies

    flutter pub get
  3. Run the application

    flutter run

Platform-Specific Setup

Android

  • Ensure Android SDK is installed
  • Connect an Android device or start an emulator
  • Run: flutter run -d android

iOS

  • Requires macOS with Xcode installed
  • Connect an iOS device or start a simulator
  • Run: flutter run -d ios

Desktop (Windows/macOS/Linux)

  • 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, or flutter run -d linux

Project Structure

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

Database Schema

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
);

Building for Production

Android APK

flutter build apk --release

Android App Bundle

flutter build appbundle --release

iOS

flutter build ios --release

Desktop

# Windows
flutter build windows --release

# macOS
flutter build macos --release

# Linux
flutter build linux --release

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support and questions, please open an issue in the repository.

About

Android app developed in Java to store, manage, and organize SIM records.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages