A collection of three Python-based console applications for managing banking operations, library resources, and train ticket bookings. These applications demonstrate core programming concepts including account management with deposit/withdraw/transaction functionality, book borrowing and management with librarian controls, and passenger ticket booking with admin train management. All projects use CSV files for lightweight data persistence and feature command-line interfaces for user interaction.
- Bank Management System
- Library Management System
- Train Ticket Booking System
- Technology Stack
- Installation & Setup
A comprehensive banking application that simulates real-world banking operations with separate functionalities for administrators and regular users.
- Login with Admin ID and Password
- Check total bank balance
- View total number of registered users
- Retrieve user details by Account Number
- Delete user accounts
- Sign up (create new account with unique account number)
- Login with Email and Password
- Deposit money
- Withdraw money (with balance validation)
- Transfer money to another account
- Check account balance
Bank-Management-System/
├── main.py # Main application entry point
├── user.py # User class and operations
├── customer_data.py # Customer data management
├── README.md # Project documentation
└── <data_files> # CSV files for storing customer and transaction data
cd Bank-Management-System
python main.pyA digital library management system that enables librarians to manage books and users while allowing patrons to borrow books and track their borrowing history.
- Login with Admin credentials
- Add new books to the system
- View user details and their borrowing status
- Sign up with a unique ID
- Login with credentials
- Borrow available books
- View personal borrowing status and history
Library-Management-System/
├── main.py # Main program, handles application flow
├── user.py # User-related operations
├── user.py # Librarian-related operations
├── Books_data.csv # Stores book inventory details
├── User_Details.csv # Stores user information
└── README.md # Project documentation
cd Library-Management-System
python main.pyA command-line train reservation system that allows passengers to book train tickets and administrators to manage trains and passenger information.
- Signup: Create account with name, address, phone number, and password
- Login: Authenticate using phone number and password
- Book Tickets: Search and book train tickets between locations with real-time seat availability
- View Bookings: Check booking history and reservation details
- Login: Secure admin authentication (default credentials provided)
- Add Trains: Add new trains with details like route, price, and seat capacity
- View Passengers: Access passenger information and booking records
Train-Ticket-Booking-System/
└── Train-Ticket-Booking-main/
├── main.py # Main application entry point
├── passenger.py # Passenger class with booking functionality
├── train.py # Train class for train management
├── train_list.csv # Stores train information
├── passenger_list.csv # Stores passenger booking data
└── README.md # Project documentation
cd Train-Ticket-Booking-System/Train-Ticket-Booking-main/
python main.pyAll three applications are built using:
- Language: Python 3.x
- Data Storage: CSV (Comma-Separated Values)
- Interface: Command Line Interface (CLI)
- Dependencies: Built-in Python modules only (no external packages required)
- File I/O and CSV handling
- Object-Oriented Programming (Classes)
- User authentication and validation
- Data management and persistence
- Exception handling
- Control flow (conditionals and loops)
- Python 3.x installed on your system
- Terminal/Command Prompt access
- No external package installations required
-
Clone or download the repository:
git clone <repository_url> cd Python-Console-Applications
-
Navigate to the desired application:
cd Bank-Management-System # OR cd Library-Management-System # OR cd Train-Ticket-Booking-System/Train-Ticket-Booking-main/
-
Run the application:
python main.py
-
Follow the on-screen prompts to interact with the application.
Each application uses CSV files to persist data:
- Bank Management System: Stores customer account details and transaction history
- Library Management System: Stores book inventory and user borrowing records
- Train Ticket Booking System: Stores train information and passenger booking details
Note: CSV files are created automatically when you run the applications for the first time.
These applications are designed for educational purposes. For production use, consider:
- Implementing proper password hashing (bcrypt, argon2)
- Using a relational database (MySQL, PostgreSQL) instead of CSV files
- Adding comprehensive input validation and sanitization
- Implementing secure authentication mechanisms (JWT, OAuth)
- Adding error logging and monitoring
- Encrypting sensitive data
By exploring these projects, you'll learn:
✓ Basic Python programming and syntax
✓ File handling and CSV operations
✓ Object-Oriented Programming principles
✓ User input validation
✓ Data persistence techniques
✓ Building command-line applications
✓ Authentication and authorization basics
✓ Error handling and debugging
Feel free to fork this repository and submit pull requests with improvements, bug fixes, or new features.
This project is open source and available for educational and personal use.
Kamal Tamil
Happy Coding! 🐍