{"id":28916908,"url":"https://github.com/mazlumdc/currencyexchangesystem","last_synced_at":"2026-05-15T12:05:06.842Z","repository":{"id":300116187,"uuid":"1005246425","full_name":"mazlumdc/CurrencyExchangeSystem","owner":"mazlumdc","description":"Vizja University Network Applications Course Project - Complete WCF-based currency exchange system with Windows Forms UI, NBP API integration, and real-time exchange rates.","archived":false,"fork":false,"pushed_at":"2025-06-19T23:57:53.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T00:33:00.256Z","etag":null,"topics":["academic-project","api-integration","csharp","currency-exchange","dotnet-framework","nbp-api","network-applications","vizja-university","wcf","windows-forms"],"latest_commit_sha":null,"homepage":"","language":"C#","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/mazlumdc.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-06-19T23:27:36.000Z","updated_at":"2025-06-19T23:57:56.000Z","dependencies_parsed_at":"2025-06-20T00:43:07.697Z","dependency_job_id":null,"html_url":"https://github.com/mazlumdc/CurrencyExchangeSystem","commit_stats":null,"previous_names":["mazlumdc/currencyexchangesystem"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mazlumdc/CurrencyExchangeSystem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazlumdc%2FCurrencyExchangeSystem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazlumdc%2FCurrencyExchangeSystem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazlumdc%2FCurrencyExchangeSystem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazlumdc%2FCurrencyExchangeSystem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mazlumdc","download_url":"https://codeload.github.com/mazlumdc/CurrencyExchangeSystem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mazlumdc%2FCurrencyExchangeSystem/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261212506,"owners_count":23125585,"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","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":["academic-project","api-integration","csharp","currency-exchange","dotnet-framework","nbp-api","network-applications","vizja-university","wcf","windows-forms"],"created_at":"2025-06-22T00:09:17.998Z","updated_at":"2026-05-15T12:05:01.807Z","avatar_url":"https://github.com/mazlumdc.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Currency Exchange System\r\n\r\nA Windows Communication Foundation (WCF) based currency exchange system with Windows Forms UI.\r\n\r\n**Course**: Network Applications  \r\n**University**: Vizja University  \r\n**Student**: Mazlum Davut CELIK  \r\n**Academic Year**: 2024-2025\r\n\r\n## Project Overview\r\n\r\nThis 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.\r\n\r\n## Academic Requirements Met\r\n\r\n### Lab 1 ✅\r\n- **WCF Project**: Created a complete WCF service for currency exchange operations\r\n- **Console Client**: Implemented a console application that consumes the WCF service\r\n- **Service Consumption**: Demonstrated proper service consumption patterns\r\n\r\n### Lab 2, 3 ✅\r\n- **NBP API Integration**: Implemented real-time currency rate retrieval from National Bank of Poland\r\n- **Current Exchange Rates**: Method returns current exchange rates for specified currencies\r\n- **API Documentation**: Full integration with NBP API (http://api.nbp.pl/en.html)\r\n\r\n### Lab 5-9 ✅\r\n- **Web Service (WCF) - 3 points**: Complete business logic for currency exchange office\r\n- **Mobile Application - +1 point**: Full-featured Windows Forms application with:\r\n  - Account creation functionality\r\n  - Account top-up (virtual transfer) capabilities\r\n  - Real-time exchange rate checking\r\n  - Historical exchange rate access\r\n  - Buy/sell currency operations\r\n- **Database - +1 point**: In-memory data storage for:\r\n  - User information management\r\n  - Transaction history tracking\r\n  - User currency balance management\r\n\r\n## Features\r\n\r\n- **WCF Service**: Handles currency exchange operations\r\n- **User Management**: Create accounts and manage balances\r\n- **Real-time Exchange Rates**: Integration with National Bank of Poland (NBP) API\r\n- **Currency Operations**: Buy and sell currencies\r\n- **Windows Forms UI**: User-friendly interface\r\n- **Historical Rates**: Access to historical exchange rates\r\n- **Logout Functionality**: Switch between user accounts\r\n\r\n## Project Structure\r\n\r\n```\r\nCurrencyExchangeSystem/\r\n├── CurrencyExchangeService/     # WCF Service Implementation\r\n├── CurrencyExchangeUI/          # Windows Forms User Interface\r\n├── CurrencyExchangeHost/        # WCF Service Host\r\n├── CurrencyExchangeClient/      # Client Application\r\n└── build.bat                   # Build and Run Script\r\n```\r\n\r\n## Requirements\r\n\r\n- .NET Framework 4.7.2 or higher\r\n- Visual Studio 2019 or higher\r\n- Windows OS\r\n\r\n## Installation\r\n\r\n1. Clone the repository:\r\n```bash\r\ngit clone https://github.com/mazlumdc/CurrencyExchangeSystem.git\r\n```\r\n\r\n2. Open the solution in Visual Studio:\r\n```\r\nCurrencyExchangeSystem.sln\r\n```\r\n\r\n3. Build the solution (Ctrl+Shift+B)\r\n\r\n4. Run the application:\r\n   - Set CurrencyExchangeHost as startup project\r\n   - Set CurrencyExchangeUI as startup project\r\n   - Press F5 to run\r\n\r\n## Usage\r\n\r\n1. **Create Account**: Enter username and password on login screen\r\n2. **Login**: Use your credentials to access the system\r\n3. **Check Balances**: View your current currency balances\r\n4. **Exchange Currency**: Select currencies and amounts for exchange\r\n5. **View Rates**: Check current and historical exchange rates\r\n6. **Logout**: Use the red logout button to switch accounts\r\n\r\n## API Integration\r\n\r\nThe system integrates with the National Bank of Poland (NBP) API for real-time exchange rates:\r\n- Current rates: `http://api.nbp.pl/api/exchangerates/rates/a/{currency}`\r\n- Historical rates: `http://api.nbp.pl/api/exchangerates/rates/a/{currency}/{date}`\r\n\r\n## Technologies Used\r\n\r\n- **WCF (Windows Communication Foundation)**: Service layer\r\n- **Windows Forms**: User interface\r\n- **C#**: Programming language\r\n- **NBP API**: Exchange rate data\r\n- **.NET Framework**: Runtime environment\r\n\r\n## Academic Compliance\r\n\r\nThis project fully satisfies all Network Applications course requirements:\r\n\r\n- ✅ **Lab 1**: WCF project with console client\r\n- ✅ **Lab 2, 3**: NBP API integration for current rates\r\n- ✅ **Lab 5-9**: Complete currency exchange system with:\r\n  - Web Service (WCF) - 3 points\r\n  - Mobile Application - +1 point\r\n  - Database - +1 point\r\n\r\n## Contributing\r\n\r\nThis is an academic project for Vizja University Network Applications course.\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License - see the LICENSE file for details.\r\n\r\n## Author\r\n\r\nMazlum Davut CELIK - Vizja University  \r\n- GitHub: [@mazlumdc](https://github.com/mazlumdc)\r\n- Course: Network Applications\r\n- University: Vizja University\r\n\r\n## Acknowledgments\r\n\r\n- National Bank of Poland for providing exchange rate API\r\n- Microsoft for WCF and .NET Framework\r\n- Vizja University for providing the course framework \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazlumdc%2Fcurrencyexchangesystem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmazlumdc%2Fcurrencyexchangesystem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmazlumdc%2Fcurrencyexchangesystem/lists"}