A Windows Communication Foundation (WCF) based currency exchange system with Windows Forms UI.
Course: Network Applications
University: Vizja University
Student: Mazlum Davut CELIK
Academic Year: 2024-2025
This project is developed as part of the Network Applications course at Vizja University. It demonstrates the implementation of a distributed system using WCF (Windows Communication Foundation) with real-time currency exchange capabilities.
- WCF Project: Created a complete WCF service for currency exchange operations
- Console Client: Implemented a console application that consumes the WCF service
- Service Consumption: Demonstrated proper service consumption patterns
- NBP API Integration: Implemented real-time currency rate retrieval from National Bank of Poland
- Current Exchange Rates: Method returns current exchange rates for specified currencies
- API Documentation: Full integration with NBP API (http://api.nbp.pl/en.html)
- Web Service (WCF) - 3 points: Complete business logic for currency exchange office
- Mobile Application - +1 point: Full-featured Windows Forms application with:
- Account creation functionality
- Account top-up (virtual transfer) capabilities
- Real-time exchange rate checking
- Historical exchange rate access
- Buy/sell currency operations
- Database - +1 point: In-memory data storage for:
- User information management
- Transaction history tracking
- User currency balance management
- WCF Service: Handles currency exchange operations
- User Management: Create accounts and manage balances
- Real-time Exchange Rates: Integration with National Bank of Poland (NBP) API
- Currency Operations: Buy and sell currencies
- Windows Forms UI: User-friendly interface
- Historical Rates: Access to historical exchange rates
- Logout Functionality: Switch between user accounts
CurrencyExchangeSystem/
├── CurrencyExchangeService/ # WCF Service Implementation
├── CurrencyExchangeUI/ # Windows Forms User Interface
├── CurrencyExchangeHost/ # WCF Service Host
├── CurrencyExchangeClient/ # Client Application
└── build.bat # Build and Run Script
- .NET Framework 4.7.2 or higher
- Visual Studio 2019 or higher
- Windows OS
- Clone the repository:
git clone https://github.com/mazlumdc/CurrencyExchangeSystem.git- Open the solution in Visual Studio:
CurrencyExchangeSystem.sln
-
Build the solution (Ctrl+Shift+B)
-
Run the application:
- Set CurrencyExchangeHost as startup project
- Set CurrencyExchangeUI as startup project
- Press F5 to run
- Create Account: Enter username and password on login screen
- Login: Use your credentials to access the system
- Check Balances: View your current currency balances
- Exchange Currency: Select currencies and amounts for exchange
- View Rates: Check current and historical exchange rates
- Logout: Use the red logout button to switch accounts
The system integrates with the National Bank of Poland (NBP) API for real-time exchange rates:
- Current rates:
http://api.nbp.pl/api/exchangerates/rates/a/{currency} - Historical rates:
http://api.nbp.pl/api/exchangerates/rates/a/{currency}/{date}
- WCF (Windows Communication Foundation): Service layer
- Windows Forms: User interface
- C#: Programming language
- NBP API: Exchange rate data
- .NET Framework: Runtime environment
This project fully satisfies all Network Applications course requirements:
- ✅ Lab 1: WCF project with console client
- ✅ Lab 2, 3: NBP API integration for current rates
- ✅ Lab 5-9: Complete currency exchange system with:
- Web Service (WCF) - 3 points
- Mobile Application - +1 point
- Database - +1 point
This is an academic project for Vizja University Network Applications course.
This project is licensed under the MIT License - see the LICENSE file for details.
Mazlum Davut CELIK - Vizja University
- GitHub: @mazlumdc
- Course: Network Applications
- University: Vizja University
- National Bank of Poland for providing exchange rate API
- Microsoft for WCF and .NET Framework
- Vizja University for providing the course framework