# Dinar Échange — Algerian Dinar Exchange Rates | Lyes Tarzalt

> Mobile app for tracking Algerian dinar parallel market and official exchange rates. Flutter, AWS Lambda, Firebase.

Source: https://tarzalt.dev/projects/dinar-echange/

# Dinar Échange

Algerian dinar exchange rates. Parallel market and official, side by side.

 Flutter Dart AWS Lambda Python Firebase BeautifulSoup

 Play Store GitHub (app) GitHub (backend)

 v1.4.8 releases languages

 Rates Converter Trends

Algeria has two exchange rates. The official one the government publishes, and the parallel
market rate that everyone actually uses. The gap between them is significant and it changes
daily. There's no official API for the parallel rate. It lives on informal websites and word
of mouth.

A friend wanted a simple way to check it. Most exchange rate apps look like financial
terminals, numbers and jargon everywhere. He just wanted to know: if I have 100 euros, how
many dinars do I get today?

So I built it. A Flutter app with a Python backend on AWS Lambda that scrapes multiple sources
every morning at 8am Algiers time. Each source is its own Lambda function, all returning the
same data shape. Freshest data wins. If one source goes down, the others keep working.

The app shows both rates side by side. Pin your currencies, drag to reorder, see trends over
time. Works in English, Arabic, and French. Caches everything locally so it works even with
spotty internet, which matters in Algeria.

 Read the full story

## How it works

### Data pipeline

EventBridge triggers a main Lambda daily at 8am. It invokes separate scraper Lambdas, each
hitting a different source. All share the same contract. First valid response wins. Core
currencies (EUR, USD, GBP, etc.) come from scrapers. Every other currency is derived by
cross-referencing the USD parallel rate against a public exchange rate API. Approximate
but good enough, ±3 dinars.

### Storage

Firebase Firestore. Daily rates keyed by date. Two-year trend history per currency,
trimmed on each update. Separate collections for parallel and official rates.

### The app

Flutter with Provider for state management. Cache-first with 7-day offline fallback.
Anonymous Firebase auth with App Check so there's no account creation needed. Push
notifications in the user's chosen language via FCM topic subscriptions. Ad frequency
controlled server-side through Remote Config.

## Related posts

 Building Dinar Échange

Available on Android. Open source.

 Get on Play Store
