Skip to content

Implement Italian Fiscal Code in Kotlin #6

Open

Description

@francescobianco

Implement the Italian Fiscal Code algorithm in Kotlin and get it verified by the shared test suite.

What to build

A program that reads one JSON object on stdin and writes the fiscal code (or an error) as JSON on stdout, exactly as described in SPECIFICATION.md.

$ echo '{"surname":"ROSSI","name":"MARIO","birth_date":"1980-01-01","sex":"M","birthplace_code":"H501"}' | ./elc run kotlin
{"fiscal_code": "RSSMRA80A01H501U"}

Suggested setup

Directory languages/kotlin/
Family jvm
Docker base eclipse-temurin:21-jdk + kotlinc (just a suggestion)

Checklist

  • languages/kotlin/ with source, Dockerfile, run.sh, manifest.yaml and README.md
  • The algorithm is written entirely in Kotlin (no wrappers, no fiscal-code libraries, no remote calls)
  • ./elc test kotlin passes 87/87
  • PR opened with Closes #<this issue>

See CONTRIBUTING.md and the Python / PHP implementations for complete examples.

🎃 This issue is part of Hacktoberfest. Comment below to claim it!

Activity

  1. added this to the 64 languages milestone on Oct 14, 2026
  2. Rahul-pamula commented on Oct 14, 2026

    @Rahul-pamula

    Hi! I'd love to work on this issue. I'm @Rahul-pamula and I'm interested in contributing here. Could I be assigned this one? I'll get started right away! 🚀

  3. francescobianco commented on Oct 15, 2026

    @francescobianco
    MemberAuthor

    Hi @Rahul-pamula, thank you so much for jumping in! 🙌 The issue is all yours, I've just assigned it to you.

    A few pointers to get going:

    • 📖 SPECIFICATION.md has the full algorithm and the stdin/stdout JSON contract.
    • 🧭 CONTRIBUTING.md explains the folder layout (Dockerfile, run.sh, manifest.yaml, README.md).
    • 🐍 The Python and Java implementations are good references, and Java is a close cousin for Kotlin.
    • ✅ Run ./elc test kotlin locally until you see 87/87, then open the PR with Closes #6.

    If you get stuck on anything, just ask here, we're happy to help.

    And please feel free to go further than this one issue! 🌍 Every language not yet on the board is a welcome contribution: you can pick another hacktoberfest issue, propose a language you love, improve the docs or the tooling, or share the project with friends who might enjoy the challenge. The more people and languages, the better.

    🏅 One more thing: once your first PR is submitted, if you'd like, you can request to be added to the list of official Openapi contributors at openapi/contributors.

    Happy Hacktoberfest and welcome aboard! 🎃

  4. Rahul-pamula commented on Oct 15, 2026

    @Rahul-pamula

    Hi @francescobianco, I've finished the Kotlin implementation and opened PR #22 with Closes #6.

    • 100% native Kotlin with self-contained JSON parser (zero external dependencies)
    • Multi-stage Docker build on Temurin 21 Alpine
    • 87/87 test vectors passed

    Thank you for assigning this to me! 🙌

  5. francescobianco commented on Oct 16, 2026

    @francescobianco
    MemberAuthor

    Thank you so much @Rahul-pamula, great work! 🙌 A native Kotlin implementation with its own JSON parser, zero dependencies and 87/87 vectors is exactly the spirit of this project. We'll review #22 shortly.

    🏅 Now that your first PR is in, you're very welcome to become an official Openapi® contributor: fork openapi/contributors, add your row (main project: openapi/every-language-fiscal-code), and open a PR. Once it's merged you'll be listed in the registry and can show the Openapi® Contributor badge on your profile README:

    Openapi® Contributor

    🐧 And if you're curious, take a look at our latest project, gknowledge: Karpathy's LLM Wiki as a native GNOME app. Drop in your documents and get a linked Markdown wiki that an LLM keeps up to date, offline by default, with an MCP server for Claude Code, Codex or Cursor. It's in Python, and there are good first issues if you'd like to contribute there too. A ⭐ is always appreciated!

    Thanks again and happy Hacktoberfest! 🎃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

good first issueGood for newcomershacktoberfestOpen for Hacktoberfest contributionshelp wantedExtra attention is needednew-languageImplement the algorithm in a language not yet covered

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions