{"id":30050565,"url":"https://github.com/inventixcity/inventix-bank","last_synced_at":"2026-04-19T06:36:01.201Z","repository":{"id":305403954,"uuid":"1021062299","full_name":"inventixcity/inventix-bank","owner":"inventixcity","description":"Advanced Banking Management System built with Java \u0026 JavaFX - Features dual authentication, real-time transactions, account management, and modern MVC architecture with SQLite database","archived":false,"fork":false,"pushed_at":"2025-07-16T20:29:32.000Z","size":397,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-19T23:38:59.731Z","etag":null,"topics":["authantication","clean-code","java","javafx","javafx-application","mvc-architecture","sqlite","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inventixcity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-16T20:24:04.000Z","updated_at":"2025-07-16T21:23:09.000Z","dependencies_parsed_at":"2025-07-19T23:39:02.482Z","dependency_job_id":"665b99e2-b195-432e-b6f2-ac51f74b8dd3","html_url":"https://github.com/inventixcity/inventix-bank","commit_stats":null,"previous_names":["inventixcity/inventix-bank"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/inventixcity/inventix-bank","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventixcity%2Finventix-bank","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventixcity%2Finventix-bank/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventixcity%2Finventix-bank/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventixcity%2Finventix-bank/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inventixcity","download_url":"https://codeload.github.com/inventixcity/inventix-bank/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inventixcity%2Finventix-bank/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269268944,"owners_count":24388572,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-07T02:00:09.698Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authantication","clean-code","java","javafx","javafx-application","mvc-architecture","sqlite","sqlite3"],"created_at":"2025-08-07T14:01:26.589Z","updated_at":"2026-04-19T06:36:01.149Z","avatar_url":"https://github.com/inventixcity.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏦 Inventix Bank - Advanced Banking Management System\n\n[![Java](https://img.shields.io/badge/Java-15-orange.svg)](https://www.oracle.com/java/)\n[![JavaFX](https://img.shields.io/badge/JavaFX-18.0.1-blue.svg)](https://openjfx.io/)\n[![SQLite](https://img.shields.io/badge/SQLite-3.36.0-green.svg)](https://www.sqlite.org/)\n[![Maven](https://img.shields.io/badge/Maven-3.8.1-red.svg)](https://maven.apache.org/)\n\n## 📖 Overview\n\n**Inventix Bank** is a sophisticated, enterprise-grade banking management system built with modern Java technologies. This application demonstrates advanced software engineering principles with a clean, scalable architecture that separates concerns effectively through the Model-View-Controller (MVC) pattern.\n\n## ✨ Key Features\n\n### 🔐 **Dual Authentication System**\n- **Client Portal**: Secure login for customers with personalized dashboards\n- **Admin Panel**: Administrative access for bank staff with comprehensive management tools\n- **Role-based Access Control**: Different privileges for different user types\n\n### 💰 **Advanced Account Management**\n- **Dual Account Types**: Support for both Checking and Savings accounts\n- **Real-time Balance Tracking**: Live updates of account balances\n- **Account Summary**: Comprehensive overview of all client accounts\n- **Transaction History**: Detailed records of all financial activities\n\n### 🚀 **Money Transfer \u0026 Transactions**\n- **Instant Money Transfer**: Send money between accounts seamlessly\n- **Transaction Validation**: Robust validation for all financial operations\n- **Transaction Categories**: Organized transaction types (Income/Expense tracking)\n- **Recent Transactions**: Quick access to latest financial activities\n\n### 👥 **Client Management (Admin)**\n- **Client Creation**: Add new clients with account setup\n- **Client Overview**: Comprehensive client database management\n- **Account Monitoring**: Track client account activities\n- **Deposit Operations**: Administrative deposit functionalities\n\n### 📊 **Advanced Dashboard**\n- **Financial Overview**: Income and expense summaries\n- **Account Analytics**: Visual representation of account status\n- **Transaction Timeline**: Chronological view of all activities\n- **Personalized Greetings**: Dynamic user interface elements\n\n### 🐛 **Bug Reporting System**\n- **Integrated Bug Tracker**: In-app bug reporting functionality\n- **Issue Management**: Systematic approach to handling user feedback\n- **Quality Assurance**: Continuous improvement mechanism\n\n## 🏗️ Architecture \u0026 Design\n\n### **Model-View-Controller (MVC) Pattern**\n```\n📁 src/main/java/com/jmc/inventix/\n├── 📁 Models/           # Data layer and business logic\n│   ├── Client.java      # Client entity with JavaFX properties\n│   ├── Account.java     # Account base class\n│   ├── Transaction.java # Transaction entity\n│   └── DatabaseDriver.java # Database operations\n├── 📁 Views/            # UI presentation layer\n│   ├── ViewFactory.java # Factory for creating views\n│   └── Various enums for UI components\n└── 📁 Controllers/      # Application logic layer\n    ├── LoginController.java\n    ├── 📁 Client/       # Client-specific controllers\n    └── 📁 Admin/        # Admin-specific controllers\n```\n\n### **Key Design Patterns**\n- **Singleton Pattern**: Centralized model management\n- **Factory Pattern**: Dynamic view creation\n- **Observer Pattern**: Real-time data binding\n- **MVC Pattern**: Clear separation of concerns\n\n### **Database Design**\n- **SQLite Database**: Lightweight, file-based database\n- **Normalized Schema**: Efficient data organization\n- **Transaction Integrity**: ACID compliance for financial operations\n- **Prepared Statements**: SQL injection prevention\n\n## 🛠️ Technology Stack\n\n### **Core Technologies**\n- **Java 15**: Modern language features and performance\n- **JavaFX 18.0.1**: Rich desktop application framework\n- **FXML**: Declarative UI design\n- **SQLite 3.36.0**: Embedded database engine\n- **Maven**: Dependency management and build automation\n\n### **Libraries \u0026 Dependencies**\n- **FontAwesome FX**: Professional iconography\n- **JSR305**: Code annotations for better maintainability\n- **JUnit 5**: Comprehensive testing framework\n\n## 🚀 Getting Started\n\n### **Prerequisites**\n- Java 15 or higher\n- Maven 3.8.1 or higher\n- Git (for version control)\n\n### **Installation**\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/inventixcity/inventix-bank.git\n   cd inventix-bank\n   ```\n\n2. **Build the project**\n   ```bash\n   mvn clean compile\n   ```\n\n3. **Run the application**\n   ```bash\n   mvn javafx:run\n   ```\n\n### **Alternative Run Method**\n```bash\n# Using Maven with specific main class\nmvn clean javafx:run -Djavafx.mainClass=\"com.jmc.inventix.App\"\n```\n\n## 📊 Database Schema\n\n### **Main Tables**\n- **Clients**: Customer information and authentication\n- **CheckingAccounts**: Checking account details\n- **SavingsAccounts**: Savings account information\n- **Transactions**: Financial transaction records\n- **BugReports**: User feedback and issue tracking\n\n## 🔒 Security Features\n\n- **Encrypted Authentication**: Secure login mechanism\n- **Parameter Validation**: Input sanitization\n- **Role-based Access**: User privilege management\n- **Database Security**: Prepared statements prevent SQL injection\n\n## 🎨 User Interface\n\n### **Modern Design Elements**\n- **Responsive Layout**: Adaptive UI components\n- **Professional Styling**: Clean, banking-appropriate design\n- **Intuitive Navigation**: User-friendly interface\n- **Real-time Updates**: Dynamic content refresh\n\n### **Key UI Components**\n- **Login Screen**: Secure authentication interface\n- **Client Dashboard**: Personalized financial overview\n- **Admin Panel**: Comprehensive management tools\n- **Transaction Views**: Detailed financial records\n\n## 📈 Project Highlights\n\n### **Advanced Features**\n- **Real-time Data Binding**: JavaFX properties for live updates\n- **Comprehensive Error Handling**: Robust exception management\n- **Modular Architecture**: Scalable and maintainable codebase\n- **Professional Documentation**: Extensive code comments\n\n### **Code Quality**\n- **Clean Code Principles**: Readable and maintainable\n- **Design Patterns**: Industry-standard implementations\n- **Type Safety**: Comprehensive use of generics\n- **Null Safety**: JSR305 annotations for better reliability\n\n## 🔧 Development\n\n### **Project Structure**\n```\ninventix-bank/\n├── src/main/java/           # Source code\n├── src/main/resources/      # Resources (FXML, images)\n├── target/                  # Compiled classes\n├── pom.xml                  # Maven configuration\n└── inventix.db             # SQLite database\n```\n\n### **Build Commands**\n```bash\n# Clean and compile\nmvn clean compile\n\n# Run tests\nmvn test\n\n# Package application\nmvn package\n\n# Run application\nmvn javafx:run\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 👨‍💻 Author\n\n**Umer Fraz Ahmed**\n- GitHub: [@inventixcity](https://github.com/inventixcity)\n- Email: inventixcui@gmail.com\n\n## 🙏 Acknowledgments\n\n- JavaFX community for excellent documentation\n- SQLite team for the reliable database engine\n- FontAwesome for professional icons\n- Maven team for build automation tools\n\n## 📞 Support\n\nFor support, email inventixcui@gmail.com or create an issue in the GitHub repository.\n\n---\n\n**⭐ Star this repository if you find it useful!**\n\n*Built with ❤️ by Umer Fraz Ahmed*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finventixcity%2Finventix-bank","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finventixcity%2Finventix-bank","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finventixcity%2Finventix-bank/lists"}