Skip to content

Latest commit

 

History

History
72 lines (66 loc) · 3.61 KB

File metadata and controls

72 lines (66 loc) · 3.61 KB

Project Structure Guide

📁 Recommended GitHub Repository Structure

BankSystem/
├── 📄 README.md                    # Main project documentation
├── 📄 .gitignore                   # Git ignore rules
├── 📄 PROJECT_STRUCTURE.md         # This file
├── 📄 LICENSE                      # License file (optional)
│
├── 📁 src/                         # Source code directory
│   ├── 📄 BankSystem.cpp           # Main application entry point
│   ├── 📄 Global.h                 # Global variables and constants
│   │
│   ├── 📁 core/                    # Core business logic classes
│   │   ├── 📄 clsPerson.h          # Base person class
│   │   ├── 📄 clsBankClient.h      # Bank client management
│   │   └── 📄 clsUser.h            # User management
│   │
│   ├── 📁 screens/                 # UI screen classes
│   │   ├── 📄 clsScreen.h          # Base screen class
│   │   ├── 📄 clsMainScreen.h      # Main menu screen
│   │   ├── 📄 clsLoginScreen.h     # Login authentication
│   │   ├── 📄 clsTransactionsScreen.h # Banking transactions
│   │   ├── 📄 clsClientListScreen.h   # Client list display
│   │   ├── 📄 clsAddNewClientScreen.h # Add new client
│   │   ├── 📄 clsUpdateClientScreen.h # Update client
│   │   ├── 📄 clsDeleteClientScreen.h # Delete client
│   │   ├── 📄 clsFindClientScreen.h   # Find client
│   │   ├── 📄 clsDepositScreen.h      # Deposit operations
│   │   ├── 📄 clsWithdrawScreen.h     # Withdrawal operations
│   │   ├── 📄 clsTotalBalancesScreen.h # Balance display
│   │   └── 📄 clsManageUsersScreen.h  # User management
│   │
│   └── 📁 utils/                   # Utility classes
│       ├── 📄 clsInputValidate.h   # Input validation
│       ├── 📄 clsString.h          # String utilities
│       ├── 📄 clsUtil.h            # General utilities
│       └── 📄 clsDate.h            # Date handling
│
├── 📁 project/                     # Visual Studio project files
│   ├── 📄 BankSystem.sln           # Solution file
│   ├── 📄 BankSystem.vcxproj       # Project file
│   ├── 📄 BankSystem.vcxproj.filters # Project filters
│   └── 📄 BankSystem.vcxproj.user  # User-specific settings
│
├── 📁 data/                        # Sample data files
│   ├── 📄 Users.txt                # Sample user data
│   └── 📄 Clients.txt              # Sample client data
│
└── 📁 docs/                        # Additional documentation
    ├── 📄 INSTALLATION.md          # Installation guide
    ├── 📄 API_REFERENCE.md         # API documentation
    └── 📄 CONTRIBUTING.md          # Contribution guidelines

🎯 Benefits of This Structure

  1. Clear Separation: Source code, project files, and documentation are organized
  2. Professional Appearance: Follows industry standards for C++ projects
  3. Easy Navigation: Developers can quickly find what they need
  4. Scalable: Easy to add new features and documentation
  5. GitHub Friendly: Optimized for GitHub's file display and navigation

📋 Migration Steps

  1. Create the new folder structure in your project directory
  2. Move files to their appropriate locations
  3. Update include paths in your source files if needed
  4. Test the build to ensure everything still works
  5. Commit and push to GitHub