A limited scoped project to prepare for a job interview
- C++ 100%
| bank-account-transaction-ledger | ||
| er-diagrams | ||
| .gitattributes | ||
| .gitignore | ||
| bank-account-transaction-ledger.slnx | ||
| database-schema.sql | ||
| LICENSE.txt | ||
| readme.org | ||
Bank Account Transaction Ledger
Project Setup
Environment Setup
- Install Visual Studio
-
Download and Extract Oracle Instant Client base and sdk packages (into the same directory).
- I extracted them to C:\oracle
- Add the path where you extracted Instant Client to the Path variable.
VS Project Configuration
-
Add sdk include path to Project Properties > Configuration Properties > VC++ Directories > Include Directories
- Mine was C:\oracle∈stantclient_23_0\sdk∈clude
-
Add sdk lib directory path to Project Properties > Configuration Properties > VC++ Directories > Library Directories
- Mine was C:\oracle∈stantclient_23_0\sdk\lib\msvc
-
Add sdk lib file name to Project Properties > Configuration Properties > Linker > Input > Additional Dependencies
- Mine was oraocci23.lib
Project Scope
Bank Account Transaction Ledger System
A console-based C++ application using:
- Visual Studio
- Oracle OCCI
- Oracle XE 21c
that simulates:
- account management
- money transfers
- transaction logging
- transactional consistency
The only objectives are:
Oracle Database Connectivity
Which demostrates:
- Environment creation
- Connection handling
- Statements
- ResultSets
SQL Competency
Demonstrate the use of SQL commands like:
Demonstrate:
- INSERT
- SELECT
- UPDATE
- simple JOINs
- aggregate queries
Transaction Management
Demonstrate:
- commit()
- rollback() on failed transaction
- atomic transfer logic
HARD SCOPE LIMITS
Do NOT implement:
- login/authentication
- encryption
- GUI
- Qt
- multithreading
- sockets/networking
- REST APIs
- account types
- interest calculations
- scheduled jobs
- admin systems
- concurrency simulation
- unit testing framework
- ORM abstractions
Note to self: I only have 2 days to make this project so MAKE IT IN 2 DAYS.
Final Feature Set
| Feature | Included | Implemented |
| View accounts | YES | YES |
| Close accounts | YES | YES |
| Create account | YES | YES |
| Deposit | YES | YES |
| Withdraw | YES | YES |
| Transfer funds | YES | YES |
| Transaction history | YES | YES |