How ferdinaldopelembe/mali works
Mali is an offline shopping-budget app: the shopper sets a starting balance, adds priced products and quantities, watches the remaining budget, then saves or discards the purchase and can review past purchases. The graph separates shopping interaction, product suggestions, state and persistence, history, and shared app presentation. Edges follow the shown screen calls and store actions; the README documents offline storage and system-driven themes, while storage internals beyond the sampled store are not inferred.
Main entry points: index.tsx Shopping screen · store.tsx Purchase rules and state · AddProduct.tsx Product entry · historico.tsx History screen
Components 16
Shopping flow
- Shopping screen
app/(tabs)/index.tsx - Set starting balance
app/(tabs)/index.tsx - Balance display
src/Hero.tsx - Cart and checkout
app/(tabs)/index.tsx
Product entry
- Product entry
src/AddProduct.tsx - Product and price references
src/data.ts - Text and money formatting
src/format.ts
Purchase state
- Purchase rules and state
src/store.tsx - On-device persistence
src/store.tsx
Purchase history
- History screen
app/(tabs)/historico.tsx - Expand and delete records
app/(tabs)/historico.tsx
App presentation
- Provider and app gate
app/_layout.tsx - Tab navigation
app/(tabs)/_layout.tsx - System color theme
src/theme.ts - Shared UI components
src/ui.tsx
Other components
- Shopper
Connections 26
- Shopper → Shopping screen: opens
README.md - Shopping screen → Set starting balance: shows when inactive
app/(tabs)/index.tsx - Set starting balance → Purchase rules and state: starts budget
app/(tabs)/index.tsx - Shopping screen → Balance display: renders
app/(tabs)/index.tsx - Shopping screen → Product entry: renders
app/(tabs)/index.tsx - Product entry → Product and price references: reads references
src/AddProduct.tsx - Product entry → Purchase rules and state: adds item
src/AddProduct.tsx - Shopping screen → Cart and checkout: renders
app/(tabs)/index.tsx - Cart and checkout → Purchase rules and state: removes or finalizes
app/(tabs)/index.tsx - Purchase rules and state → On-device persistence: loads and saves
src/store.tsx - Purchase rules and state → History screen: provides purchases
app/(tabs)/historico.tsx - History screen → Expand and delete records: renders records
app/(tabs)/historico.tsx - Expand and delete records → Purchase rules and state: deletes record
app/(tabs)/historico.tsx - Provider and app gate → Purchase rules and state: provides state
app/_layout.tsx - Provider and app gate → Tab navigation: hosts screens
app/_layout.tsx - Tab navigation → System color theme: reads colors
app/(tabs)/_layout.tsx - Shopping screen → System color theme: reads colors
app/(tabs)/index.tsx - History screen → System color theme: reads colors
app/(tabs)/historico.tsx - Product entry → Text and money formatting: formats and normalizes
src/AddProduct.tsx - Cart and checkout → Text and money formatting: formats amounts
app/(tabs)/index.tsx - History screen → Text and money formatting: formats amounts
app/(tabs)/historico.tsx - Balance display → Text and money formatting: formats balance
src/Hero.tsx - Shopping screen → Shared UI components: uses components
app/(tabs)/index.tsx - Product entry → Shared UI components: uses components
src/AddProduct.tsx - History screen → Shared UI components: uses components
app/(tabs)/historico.tsx - Shared UI components → System color theme: reads colors
src/ui.tsx