Flagsmith / flagsmith-engine

This project powers the core Flagsmith API flag evaluations engine.
https://flagsmith.com/
BSD 3-Clause "New" or "Revised" License
10 stars 6 forks source link

👕 Implement port of rules engine to Elixir, Rust & Golang and win 2 t-shirts #58

Closed heroc0111 closed 1 year ago

heroc0111 commented 2 years ago

Overview

As @dabeeeenster discussed on the Axx Podcast, one of the goals of Flagsmith is server-side SDK support. It would be great to get some community help! It's only 600 lines of Python and there will be a test harness #30 to make sure the implementation is correct.

How

  1. Pick one of the unsupported server-side languages: Elixir, Rust, Golang, Java, Javascript, PHP, Ruby. Explore the code for the engine on Quod AI.
  2. Port the engine code from Python to the language in step 1.
  3. Pass the test harness!

Prizes

Flagsmith & Quod AI are joining forces. The first PR that gets merged to main will win 2 free t-shirts! Tshirts

matthewelwell commented 2 years ago

Hey @hroussel, thanks for this!

I'd just like to add that the functionality in the django_transform module does not need replicating in other languages. The functionality in this module allows us to convert our django entities into documents to store for our (currently beta) Edge API. For obvious reasons we wouldn't need that functionality translated to other languages.