Skip to content

daniel-c-j/gato-id-generator

Repository files navigation

icon_title

[Gato Id Generator]

Generate id card... But for cats!

license release

est. read time: 4.5 minutes

Table of Contents
  1. Quick Start
  2. About The Project
  3. Getting Started
  4. Usage
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

Quick Start

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.

Download latest version here.

About The Project

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.

Architecture

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.

Features

  • Authentication
  • Generation
  • Saving (Locally in gallery)
  • Mini statistics
  • Classic light & dark theme

screenshot screenshot screenshot screenshot

(back to top)

Built With

With main dependencies such as:

See Changelog

(back to top)

Getting Started

Wanna build the fresh one instead? Sure follow these steps.

Prerequisites

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.

Installation

  1. Clone this repository
git clone https://github.com/Daniel-C-J/gato-id-generator.git
  1. Open your terminal and cd to the root path of the repository, for example:
cd gato-id-generator
  1. 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.
  1. Type flutter build --help then head down to the Available 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.
  1. The output path is usually in ./build, for android specifically it is in ./build/app/outputs/flutter-apk/ alongside with the sha-1 hash.
start . # To quickly opens file explorer to see for yourself the output.
  1. And you're done! Congrats 🎉!

(back to top)

Usage

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.

screenshot screenshot screenshot

And you can also view your mini profile with your mini statistics.

(back to top)

Contributing

No, sadly I don't open to any contributions yet. Maybe next time.

Yes, coffee is okay. (Greedy aren't I?)

ko-fi

(back to top)

License

Distributed under the MIT License.

(back to top)

Contact

Daniel CJ - [email protected]

Project Link: https://github.com/Daniel-C-J/gato-id-generator

(back to top)

Acknowledgments

  • The icon is just a combined version of two icons that both came from flaticons.
  • The cat and the dog image at Homescreen came from internet randomly.
  • Cat generated pictures came directly from here.
  • Remote id pictures are saved temporarily in here.

(back to top)