DEV Community

SaikatCodes
SaikatCodes

Posted on

How a Python Practice Question Became My First GitHub Project

What started as a Python problem-solving exercise gradually became my first publicly documented software project: Transaction Auditor.

I was practicing Python functions, loops, lists, sets, and file handling when I began working on a problem involving financial transaction records.

Initially, the goal was simple: read transaction data and calculate useful statistics.

But as I developed the solution, I discovered that building a reliable program required much more than getting the calculations right.

**

What I Built

**

Transaction Auditor is a file-based Python program that reads transaction records, validates them, performs financial calculations, and generates an audit report.

  1. Its features include:

  2. Detecting duplicate transaction IDs

  3. Rejecting transactions with non-positive amounts

  4. Calculating successful and failed transaction statistics

  5. Generating customer-wise financial summaries

  6. Identifying the highest successful transaction

  7. Finding the customer with the highest successful transaction total

  8. Saving the results in a text report

**

The Biggest Challenge: Duplicate Transactions

**

One of the most interesting challenges was handling repeated transaction IDs.

My initial approach used nested loops to compare transactions. It worked for several test cases, but testing multiple records with the same ID revealed a problem: a rejected transaction could appear more than once in the duplicate report.

This taught me an important lesson:

Detecting matching pairs isn't always the same as identifying unique rejected transaction occurrences.

Testing edge cases helped me understand why the distinction matters.

**

What I Learned

**

  1. This project strengthened my understanding of:

  2. Python functions and program structure

  3. Lists and sets

  4. Nested loops and conditional logic

  5. File reading and writing

  6. Data validation

  7. Debugging and edge-case testing

  8. Connecting multiple functions into one working program

I also learned how to organize a project, document it using Markdown, and publish it on GitHub.

What Comes Next?

Transaction Auditor is currently a learning and portfolio project, not a production-ready financial system.

Future improvements could include CSV support, stronger input validation, interactive transaction entry, and automated transaction imports.

For now, I'm focusing on strengthening my Python fundamentals and building more practical projects.

Explore the Project

GitHub Repository: Transaction Auditor

I'd appreciate constructive feedback, especially on improving the program's structure, reliability, and testing.

Thanks for reading!

Top comments (0)