CBS Branches

(Mobile Demo App)

A minimal, production-minded demo that lists bank branches and shows details with a search filter and an embedded map. Optional toggle to display ATMs on the same map.

Client: Capital Bank Skopje (CBS)

Please follow the link to the GitHub repo where you can download and run the app. This would also allow you to inspect the code.

Features & Specs:

- Expo Router (v3) — file-based navigation
(/app/index.tsx → list, /app/branch/[id].tsx → details)
- React Query (@tanstack/react-query) — fetching, caching, loading/error states
- Cached queries for branches/ATMs; pull-to-refresh on the list
- Zod — runtime API validation + inferred TS types
- Search / Filter — debounced text search (name, city, address)
- Map (react-native-maps) — branch marker + optional ATM markers
- ATMs fetched on demand via enabled: showATMs
- TypeScript — strict types across API & components
- Clean UX — small reusable Loading/Error components, minimal styles
- Platform: React Native (Expo SDK ≥ 54), iOS & Android
- Language: TypeScript
- Libs: expo-router, @tanstack/react-query, axios, zod, react-native-maps
- Style: React Native core components


Back to projects