Logo Lanfrica

bridget42/afrowallet

Domaine:

digital infrastructure

Type de record:

software
Créateur:
bri
Hôte:
this is a QR-based mobile money application for Uganda that allows money transfers using QR scan codes # AfroWallet Uganda A full-stack QR-based mobile money transfer application for Uganda, built with **Node.js + Express + MongoDB** (backend web app) and **React Native + Expo** (mobile app). --- ## Project Structure ``` afrowallet/ ├── backend/ ← Express web app (runs in browser) │ ├── server.js ← Entry point │ ├── models/ ← MongoDB schemas │ │ ├── User.js │ │ ├── Transaction.js │ │ ├── OTP.js │ │ └── QRToken.js │ ├── routes/ ← All HTTP routes │ │ ├── authRoutes.js (register, login, OTP, forgot) │ │ ├── dashboardRoutes.js (home, QR, scan, settings) │ │ ├── paymentRoutes.js (transfer, topup, withdraw) │ │ ├── transactionRoutes.js (history + filters) │ │ └── walletRoutes.js (wallet, link accounts) │ ├── middleware/ │ │ └── auth.js ← requireAuth, redirectIfAuth │ ├── views/ ← EJS templates │ │ ├── index.ejs (landing page) │ │ ├── login.ejs │ │ ├── register.ejs │ │ ├── otp.ejs │ │ ├── dashboard.ejs │ │ ├── send.ejs │ │ ├── myqr.ejs │ │ ├── scan.ejs │ │ ├── topup.ejs │ │ ├── withdraw.ejs │ │ ├── transactions.ejs │ │ ├── wallet.ejs │ │ ├── settings.ejs │ │ └── forgot.ejs │ └── public/ │ ├── css/style.css ← Full UI stylesheet │ └── js/app.js ← Client-side JS │ └── mobile-app/ ← React Native + Expo app ├── App.js └── src/ ├── screens/ │ ├── auth/ (Splash, Login, Register, OTP, Forgot) │ └── main/ (Home, Send, Scan, MyQR, History, Wallet, │ TopUp, Withdraw, Settings, ConfirmSend, Success) ├── navigation/ (Root, Auth, Main navigators) ├── context/ (AuthContext) ├── services/ (API layer) ├── components/ (UI components) └── utils/ (theme, helpers) ``` --- ## Quick Start ### Prerequisites - Node.js v18+ - MongoDB (local or Atlas) - Expo CLI (`npm install -g expo-cli`) - Android/iOS emulator or Ex …