One Year of an Opensource Project

Nuno Cancelo
2 min readDec 20, 2021

Almost a year ago, within my Christmas vacations and doing nothing at all, I was doing a year retrospective about the work done, the good and the most challenging.

As a software engineer, scientist and human being, I wouldn’t say I like to waste time by doing the same work repeatedly. I do not want to do copy-and-paste, and most surely, I’m not particularly eager to reinvent the wheel. I’m defensor of the message: “Do it once, use it everywhere”.

So, last year I started a new dotnet opensource project to gather a set library to do some common and recurrent validations, at least familiar in Portugal.

My first libraries validated Portugal Social Security Number (NISS), Portugal Tax Payer Number (NIF) and Portugal Citizen Card Number, and on 30 December of 2020, I released version 1.0.0.

The libraries extended the functionalities to validate other documents throughout the year, but something was missing. One of the purposes of the project being open-source, so the developer community contribute and enrich the set of libraries.

In October, a great friend (Kudus João Silva) made a pull request to add the International Bank Account Number validation (IBAN), and we reached that checkpoint.

Now the year is almost over, and the project has two contributors and several validators:

  • Portugal NIF Number
  • Portugal NISS Number
  • Portugal Citizen Card Number
  • Portugal NIB
  • International IBAN
  • AmericanExpress
  • Maestro
  • MaestroUK
  • Mastercard
  • VISA
  • VISA Electron

And the project has more than 5.000 downloads, which is enormous to me.

It is comforting to know that so many people are using these libraries and that my project is helpful to so many projects around Portugal. :)

Feel free to use the dotnet libraries: NuGet Gallery | masterzdran or contribute with more validators over the GitHub: GitHub — masterzdran/document-number-validator

Have a great Christmas.

--

--

Nuno Cancelo

Senior Software Engineer | Dev Lead | Tech Lead | Code Cleaner | Community Leader | Puzzle Solver | Dev Evangelist | Beer Lover