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 ![]()
Most Liked
zachdaniel
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
Awesome, I will definitely use this as a reference for my Ash projects.
ghannam80
Thank you for the great initiative and efforts.
Would you think Beacon CMS could be in the future fit within it?
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #javascript
- #code-sync
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance










