Skip to content

Phase out node env (orpc/react) #82

Description

@van-sprundel

Whether we want to stay with Go or migrate to another framework, we're 100% going to dump the node env. The reason being that the ORPC+React setup feels very cluttering and awkward to work with.

Either we ship a single go binary or we use something like Phoenix/RoR to handle most of the stuff we need. This includes stuff like handling multi-tenacy stuff.

Opting for Phoenix because:

  • Ecto is genuinely good at multi-tenancy and schema flexibility
  • LiveView makes building admin panels and dynamic UIs easier without heavy frontend rewrites
  • OTP/processes are great for running isolated ETL jobs per tenant
    • Let's say amsterdam is out, utrecht still runs
  • Database partitioning is well-trodden (prefix-based schemas, separate databases, whatever)

I've already used Phoenix for another project and it seems to suffice our needs.

Phase 1 would be smth like:

  • Keep Go ETL initially, call it from Phoenix (GenServer scheduled jobs)
  • Eventually rewrite the ETL to elixir
  • Frontend can stay React or migrate to LiveView incrementally

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions