clsource

clsource

Tololo eCommerce: Ash Example

Hello, alongside @rekkice
we made an example eCommerce application called “Tololo”.

https://github.com/ElixirCL/tololo

This application is using the following technology:

  • Elixir 1.18 + Phoenix
  • Ash
  • Prometheus (Store metrics)
  • Kafka (Send events for integration with other systems)
  • Grafana (dashboards)
  • Loki (logs) + Vector (log sender)
  • Open Telemetry + Tenpo (traces)
  • Fly.io
  • Nix Devenv
  • Antora Docs
  • Github Actions
  • Bruno GraphQL Examples
  • Telegram Bot

The idea is creating an open source and libre alternative to Uber Eats and similar applications. Tailored for “Take Away” type restaurants and small stores.

Currently the application can:

  • Show a realtime Map with the delivery.
  • Manage products, discounts and shopping carts.
  • Have a small admin for back office.
  • A telegram bot to send realtime map location updates.

It also supports an “Extension” architecture so components such as Prometheus, Grafana and Kafka are totally optional if you don’t need them.

This was a summer project for us to learn more about Ash and try to be the most professional as possible. Hope is useful as an example and maybe enable more stores to use Elixir as a backend.

We plan to continue working with this project but since is just a spare time only it may not be as fast to implement new features or fix bugs as other eCommerce solutions. But we hope it serves as a good example for an eCommerce with Elixir and Ash.

Take care :smiley:

Most Liked

zachdaniel

zachdaniel

Creator of Ash

I probably won’t have time to review it in depth, but I’ve taken a poke around and I can say for sure that there’s a lot of really awesome usage of Ash here. This seems like a great resource for folks to see what is possible.

jmnda

jmnda

Awesome, I will definitely use this as a reference for my Ash projects.

ghannam80

ghannam80

Thank you for the great initiative and efforts.
Would you think Beacon CMS could be in the future fit within it?

Where Next?

Popular in Discussions Top

mikl
I wanted to capitalize a string, and tried using String.capitalize(). That generally works well, until you try to capitalize a word like...
New
Qqwy
Looking at the stacks that existing large companies have used, WhatsApp internally uses Mnesia to store the messages, while Discord uses ...
New
axelson
Decided against including more info in the title, but the gist is that Plataformatec sponsored projects will continue with the assets bei...
New
sashaafm
Piggy backing a bit on @dvcrn topic BEAM optimization for functions with static return type?, I’ve been trying to understand in a deeper ...
New
WildYorkies
It seems that the more I read, the more I find Elixir users speaking about all the ways that Elixir is not good for x, y, and z use cases...
New
nburkley
AWS re:Invent is on at the moment with some interesting announcements. One new feature in particular is the Lambda Runtime API for AWS La...
New
AstonJ
Are there any Elixir or Erlang libraries that help with this? I’ve been thinking how streaming services like twitch have exploded recentl...
New
und0ck3d
Hello everyone! A few days ago I’ve created a topic here about how people were creating CMSs with Elixir and Phoenix. I’ve been studying...
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New

Other popular topics Top

Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
JeremM34
Hello, how can I check the Phoenix version ? Thanks !
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 30877 112
New
vegabook
I’m brand new to Phoenix and I have stripped one of the demo applications to the bone. I just want to get an svg up on the screen. Here i...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 36128 110
New
klo
Got a question about when to concat vs. prepending items to list then reversing to achieve appending. So i know lists boil down to [1 | ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New

We're in Beta

About us Mission Statement