Generate id card... But for cats!
est. read time: 4.5 minutes
Table of Contents
Currently, this app only supports for Android. I am unable to test the app for iOS platform, since I don't have any apple device.
This project, Gato Id Generator, is an application intended for the purpose of showcasing my flutter-firebase-supabase skills.
This is a Gato (Cat in spanish) Id generator app. One click, one cat picture, one identity. But before that, you have to login, but fret not, there's an option to run this locally using local backend within your operating system control instead of third party's.
I was using a different kind of approach this app's architecture, particularly about the layer-first approach, classic and boring mvvm instead of the usual feature-driven approach. So this app's architecture in a nutshell is like this:
├─core
|
├─data
│ ├─model
│ └─repository
|
├─domain
│ ├─repository
│ └─use_case
|
├─presentation
│ ├─generate (feature)
│ │ ├─bloc
│ │ └─view
| |
│ └─_common_widgets
|
└─util
This is more robust, scalable, and really reusable. But somewhat redundant and slowing the development process, finally also a bit overkill for this project. Still it is a really good approach.
- Authentication
- Generation
- Saving (Locally in gallery)
- Mini statistics
- Classic light & dark theme
With main dependencies such as:
Wanna build the fresh one instead? Sure follow these steps.
To avoid incompatibility, it is recommended that at least you have flutter's engine with version of 3.29.2 (stable). Here's how to check yours.
flutter --version
Also do check whether there's anything wrong with the engine.
flutter doctor -v
Next, if you choose firebase as the backend, initialize your firebase.
firebase login
Alternatively, you can use supabase, just make sure that your project's auth is configured to not confirm/verify email address yet, since this app is just a demo.
- Clone this repository
git clone https://github.com/Daniel-C-J/gato-id-generator.git
- Open your terminal and
cd
to the root path of the repository, for example:
cd gato-id-generator
- Backend configuration.
# If you're using firebase, you'll only be needing Auth & Firestore)
firebase init
flutterfire configure
// If you're using supabase you can go to app_startup_remote.dart under src/core/app/ then:
await Supabase.initialize(
url: NetConsts.SUPABASE_URL, // <- Change this
anonKey: NetConsts.SUPABASE_ANONKEY, // <- And this
);
// Or alternatively change both inside of network_constants file.
- Type
flutter build --help
then head down to theAvailable subcommands:
section, you'll be able to found the platform specific options to build the app.
flutter build --help
flutter build apk --release # If you choose to build android app.
- The output path is usually in
./build
, for android specifically it is in./build/app/outputs/flutter-apk/
alongside with thesha-1
hash.
start . # To quickly opens file explorer to see for yourself the output.
- And you're done! Congrats 🎉!
This app is a really simple app, so there's no need for official documentation for it for now. As long as you have internet connection available, tap the generate button and wait for a moment, and you're good to go.
And you can also view your mini profile with your mini statistics.
No, sadly I don't open to any contributions yet. Maybe next time.
Yes, coffee is okay. (Greedy aren't I?)
Distributed under the MIT License.
Daniel CJ - [email protected]
Project Link: https://github.com/Daniel-C-J/gato-id-generator