Portfolio references in which a Windows program does not work on its own but talks to another system: it exchanges data with another application in real time, logs in to a web service and searches it, tracks market parameters and sends orders to a broker, initializes a payment gateway or passes stock prices from Excel to a database. Here the program depends on systems it does not control, so it has to handle responses, errors and dropped connections reliably. I do this kind of work as part of my Windows programs and background services and API integrations services.
Real-time communication between Python and C# applications
Built in the second quarter of 2022.
Problem
The client wanted a real-time communication channel between a Python application and a C# application running side by side on the same computer. As a proof of concept, the Python application incremented an integer in a loop every millisecond, and the C# application had to read that constantly changing value over a socket — with Python as the host and C# as the client. With changes at the millisecond level, speed and data accuracy were critical.
Solution
- real-time data transfer: fast and reliable data exchange between the two applications;
- socket communication: the Python application acts as the host and the C# application as the client;
- speed and accuracy: data arrives correct and on time, even though it changes every millisecond;
- proof of concept: feasibility was shown on a value the Python application keeps incrementing.
Technologies used
- Python (programiranje.co.rs) and C# (programiranje.co.rs): the two applications exchanging data.
- Socket programming: the communication channel.
Result
Two applications written in different languages exchange data in real time, and the client rated the outcome as better than expected.
Client feedback
★★★★★5/5“The outcome of this project surpassed expectations. The seamless integration and communication between the two applications were executed flawlessly. Kudos for an excellent job!”
A Delphi application connected to a web service
Built in the second quarter of 2021.
Problem
The client needed a simple desktop application in RAD Embarcadero Delphi, with the source code delivered as a requirement. The application had to connect to a given web service, log the user in and out with a username and password, and use the session it received to call the service's functions: one that returns the number of people and another that searches guests by last name. Every call, its response and any error had to be logged with date and time, and the request included further details beyond this basic description.
Solution
A simple desktop application was built that communicates reliably with the web service API:
- web service connection: a stable connection to the given service address;
- login and logout: username and password fields and login and logout buttons, working with the session the service assigns;
- number of people: a button that calls the matching service function;
- guest search: a last-name field and a search button;
- logging: the date and time of every call and response, results and errors are written to a text file;
- source code: the client has full access to the application's code.
Technologies used
- RAD Embarcadero Delphi (Pascal): developing the desktop application and connecting to the web service.
- Web service API: login, session and function calls.
Result
Users search guests and check the number of people from one application, every call and error stays logged, and the client also has the source code.
A C# application tracking parameters and sending orders through a broker API
Built in the second quarter of 2021.
Problem
The client wanted a C# application that uses simple loops to continuously track certain financial parameters through a broker's API and, based on them, decides when and what kind of order to send through the same API. The client's three-person team had basic knowledge of C but not of C#, so they were looking for someone skilled in C# with experience of broker APIs. The deliverable was working C# code in which the process could easily be started and stopped, and the project was full of uncertainty from start to finish.
Solution
- automatic monitoring: continuous tracking of key financial parameters;
- dynamic order placement: orders are placed automatically, depending on conditions, through the broker API;
- simple control: the user easily starts and stops monitoring and order placement;
- understandable code: the tool was built so a team that knows C can easily follow and adapt it in C#;
- working together: real-time screen sharing to discuss and improve the code;
- phased work: the project was split into five phases for clarity and efficient delivery.
Technologies used
- C# programming language (programiranje.co.rs): the application's language.
- Broker API: tracking parameters and sending orders.
- Collaboration tools: screen sharing and real-time pair programming.
Result
The client got an application that tracks parameters and sends orders on its own, and their team got to know its code well through working together.
Client feedback
★★★★★5/5“Dejan is without a doubt a master of his craft. He didn't merely assist in our project; he elevated it. The journey from inception to completion was littered with uncertainties, yet Dejan steered us through with unmatched proficiency and patience. His communication was consistent, constructive, and crucial to our project's success. I wholeheartedly recommend Dejan and hope to collaborate with him in the future. His commitment is unparalleled - a true professional. A huge thank you for everything!”
A DLL for payment gateway initialization
Built in the second quarter of 2021.
Problem
The client needed a DLL library that connects to and initializes the GoChipNow payment gateway. They had received a commercial SDK with the source code of a Windows application that already performs these functions, and the task was to move its capabilities — above all setup and authentication — into a DLL, so the gateway could be fitted into other programs more easily and efficiently.
Solution
A DLL library was built based on the SDK received and high-level instructions:
- gateway initialization: setting up and authenticating the payment gateway, for secure and reliable transactions;
- using the SDK: key functions were extracted from the source code of the graphical Windows application and moved into the DLL;
- configuration file: gateway settings are given in a file the user places in the project folder;
- changing the terminal ID: the user can change the terminal ID, so the gateway is initialized for a specific terminal.
Technologies used
- DLL (dynamic-link library): the form in which the gateway functions are built into other programs.
- GoChipNow SDK: the basis for the payment gateway functions.
Result
Instead of a whole Windows application, the client has a library they build into their programs, which initializes the gateway for a given terminal.
Passing stock prices from Excel to a database through an API
Built in the fourth quarter of 2020.
Problem
The client used an Excel sheet in which stock prices update automatically through the Bloomberg add-in. Those updates had to be tracked, every price change detected, and the updated data sent immediately to a specific database through an API. The client's environment was unusual, so the solution needed a lot of adjustment for everything to work together.
Solution
A standalone Windows application was built that connects Excel to the database:
- real-time monitoring: the application continuously watches the sheet and detects every price change;
- automatic data sending: when a price changes, the updated data goes straight to the database through the given API;
- a tailored solution: because of the client's unusual environment, extensive troubleshooting and adjustment were needed for compatibility and correct operation.
Technologies used
- Standalone Windows application: real-time Excel monitoring and API connection.
- Excel and the Bloomberg add-in: the source of live stock prices.
- API integration: passing updated data to the client's database.
Result
Every price change in Excel reaches the client's database in real time, without moving data by hand.
Do you need a program connected to another system?
What development includes, how the price is set and how the work proceeds is described on the Windows programs and background services and API integrations pages. See also web services, APIs and payments and custom Windows applications.
Leave a Comment