Logo Lanfrica

Slade-creator/world_vision_prototype

Domain:

socioeconomic

Record type:

software
Creator:
Sla
Host:
A full-stack mobile application for tracking field-level financial transactions, budgets, and programmatic targets, built for World Vision Zambia. # Field Finance Tracker (FFT) A full-stack mobile application for tracking field-level financial transactions, budgets, and programmatic targets — built for **World Vision Zambia**. ## Overview FFT empowers field teams to manage finances from a mobile device: - **Development Facilitators (DF)** submit expenses and monitor budgets - **Finance Officers** review, approve, reject, or request corrections on expenses - **DME Officers** track programmatic targets and review activity entries - **Supervisors** monitor budget utilisation across the portfolio ## Tech Stack | Layer | Technology | |---|---| | Backend | Python 3.12+, FastAPI, SQLModel ORM, SQLite | | Frontend | React Native (Expo), TypeScript, Expo Router | | Auth | JWT with bcrypt password hashing | | Design | Custom humanitarian-themed design system | ## Project Structure ``` ├── backend/ # FastAPI REST API │ ├── main.py # App entry point │ ├── Model/ # SQLModel entities and enums │ ├── Controller/ # Route handlers │ ├── Service/ # Business logic layer │ ├── Respositories/ # Data access layer │ ├── Middleware/ # JWT auth and RBAC guards │ └── Config/ # Database, settings, seed data │ ├── frontend/ # React Native (Expo) mobile app │ ├── app/ # Expo Router screens (role-based) │ ├── components/ # Shared UI components │ ├── context/ # Auth state management │ ├── theme/ # Design system tokens │ ├── shared/ # Common types, hooks, utils │ └── Service/ # API client │ └── uv.lock # Python dependency lock file ``` ## Quick Start ### Backend ```bash cd backend pip install -r requirements.txt python main.py ``` The API runs at `localhost`. Interactive docs at `/docs` (Swagger) or `/redoc` (ReDoc). Demo data is seeded automatically on first run. ### Frontend ```bash cd frontend npm install npm start ``` Scan the Expo QR code with your device, or press ` …