Tech Stack
Flutter Mobile App
| Category |
Technology |
Version |
| Language |
Dart |
^3.9.2 |
| Framework |
Flutter |
>3.41.0 |
| State Management |
Riverpod |
^3.2.1 |
| Backend Client |
supabase_flutter |
^2.12.0 |
| Code Generation |
freezed |
^3.2.5 |
| Code Generation |
json_serializable |
^6.7.0 |
| Code Generation |
build_runner |
^2.4.0 |
| Navigation |
GoRouter (via Material) |
built-in |
| Notifications |
firebase_messaging |
^16.2.0 |
| Notifications |
flutter_local_notifications |
^18.0.1 |
| Payments |
Chapa (via http package) |
custom |
| Maps |
flutter_map + latlong2 |
^7.0.2 / ^0.9.1 |
| Geolocation |
geolocator |
^13.0.2 |
| Geolocation |
geocoding |
^3.0.0 |
| Icons |
iconsax_flutter |
^1.0.1 |
| Charts |
fl_chart |
^1.1.1 |
| HTTP |
http |
^1.2.2 |
| Secure Storage |
flutter_secure_storage |
^10.0.0 |
| Local Storage |
shared_preferences |
^2.3.5 |
| Local Storage |
hive_flutter |
^1.1.0 |
| Image Handling |
image_picker / file_picker |
^1.1.2 / ^8.1.6 |
| Image Cache |
cached_network_image |
^3.4.1 |
| SVG |
flutter_svg |
^2.2.3 |
| Local Auth |
local_auth |
^2.3.0 |
| URL Launching |
url_launcher |
^6.3.1 |
| Logging |
logger |
^2.5.0 |
| Fonts |
google_fonts |
^8.0.2 |
| Localization |
intl + flutter_localizations |
^0.20.2 |
| App Version |
package_info_plus |
^9.0.1 |
Admin Web App
| Category |
Technology |
Version |
| Language |
JavaScript (ESM) |
ES2022 |
| Framework |
React |
^18.3.1 |
| Build Tool |
Vite |
^7.3.1 |
| UI Library |
MUI (Material-UI) |
^5.18.0 |
| Icons |
@mui/icons-material |
^5.18.0 |
| State Management |
@reduxjs/toolkit |
^2.2.7 |
| React Redux |
react-redux |
^9.1.2 |
| Routing |
react-router-dom |
^6.26.2 |
| Backend Client |
@supabase/supabase-js |
^2.101.0 |
| ORM |
@prisma/client |
^7.6.0 |
| Schema Management |
prisma |
^7.6.0 |
| Forms |
react-hook-form |
^7.53.0 |
| Validation |
yup / zod |
^1.4.0 / ^4.3.6 |
| HTTP |
axios |
^1.7.7 |
| Charts |
recharts |
^2.12.7 |
| Rich Text |
react-quill |
^2.0.0 |
| File Upload |
react-dropzone |
^14.2.3 |
| PDF Generation |
jspdf + jspdf-autotable |
^2.5.2 |
| Spreadsheets |
xlsx |
^0.18.5 |
| Date Handling |
date-fns |
^4.1.0 |
| Drag & Drop |
react-beautiful-dnd |
^13.1.1 |
| Payment Gateway |
chapa |
^1.0.5 |
| PostgreSQL |
pg |
^8.20.0 |
| Testing |
vitest + @testing-library/react |
^4.0.18 / ^16.3.2 |
| Linting |
eslint |
^9.11.1 |
| TypeScript |
typescript |
^6.0.2 (dev) |
Seller Web App
Identical stack to Admin Web App (same package.json dependencies):
| Category |
Technology |
Version |
| Framework |
React |
^18.3.1 |
| Build Tool |
Vite |
^7.3.1 |
| UI |
MUI 5 |
^5.18.0 |
| State |
Redux Toolkit |
^2.2.7 |
| Router |
react-router-dom |
^6.26.2 |
| Backend |
@supabase/supabase-js |
^2.101.0 |
| Schema |
Prisma |
^7.6.0 |
Supabase Backend
| Category |
Technology |
Version |
| Database |
PostgreSQL |
15.x |
| Auth |
Supabase Auth (GoTrue) |
built-in |
| Realtime |
Supabase Realtime (WebSockets) |
built-in |
| Storage |
Supabase Storage (S3-compatible) |
built-in |
| Edge Functions |
Supabase Edge Functions (Deno) |
2.x |
| RLS |
PostgreSQL Row-Level Security |
built-in |
External Services
| Service |
Purpose |
Integration |
| Chapa |
Ethiopian payment gateway |
Hosted checkout, webhook callbacks |
| Firebase Cloud Messaging |
Push notifications |
Flutter SDK (fcm_token → user profile) |
| Cloudinary |
Chat image uploads |
Direct HTTP upload via API |
| MapTiler |
Address autocomplete |
HTTP API (location service) |
| Tool |
Purpose |
| VS Code |
Primary IDE |
| Flutter DevTools |
Flutter debugging and profiling |
| Redux DevTools |
State inspection for web apps |
| Supabase Studio |
Database management, SQL editor |
| Prisma Studio |
Visual data browser |
| pgAdmin / DBeaver |
PostgreSQL management |