finds.dev← search

// the find

EmadBeltaje/flutter_getx_template

★ 515 · Dart · updated Mar 2026

Create flutter project with all needed configuration in two minutes (theme, localization, connect to firebase, FCM, local notifications, safe API call, error handling, animation..etc)

A Flutter starter template built around GetX for state management, routing, and DI. It pre-wires the boring setup work — dark/light theme, localization, Firebase/FCM, local notifications, and a typed API client with loading/error/success state — so you're not copying that boilerplate from your last project. Aimed at Flutter devs who are already bought into GetX and want a sensible starting point rather than a blank canvas.

The `BaseClient.safeApiCall` pattern is the real useful piece here: it handles the loading/success/error state machine in one place and the `MyWidgetsAnimator` widget that switches between those states with animation is a clean UI-side complement. The theming setup is properly separated — color tokens in their own files, font scale in another — so you can actually drop in a new design without touching structural code. Test coverage is surprisingly decent for a template: unit tests for shared prefs, Hive, and localization, plus integration tests for the API client and notification helper. Recent GetX 5 support means it won't immediately break on a new project.

It's firmly GetX-or-nothing: the routing, DI, state, and even the snackbars all go through `Get.*` which means if GetX falls out of favor (or you hit one of its well-documented edge cases with nested navigation) you're rearchitecting, not refactoring. The `BaseClient` wraps Dio but hides it completely, so anything unusual — multipart uploads, request interceptors for auth token refresh, cancellation — requires digging into the abstraction rather than just using Dio directly. The `_sendFcmTokenToServer` function is literally a TODO comment, which is the one thing most apps actually need to do with FCM. Only two locales (en/ar) are wired in; adding a third requires touching four separate files.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →