Skip to content

This project was developed to help people decide which fuel to use in their vehicles, based on the current price and the efficiency of each fuel

Notifications You must be signed in to change notification settings

filipe1309/AbasteceAi

Repository files navigation

AbasteceAi

Android Kotlin

AbasteceAi

💬 About

This project was developed to help people decide which fuel to use in their vehicles, based on the current price and the efficiency of each fuel.

💻 Technologies & Techniques

🚀 Features

  • Compare fuel by efficiency with the current price
  • Save comparison in history
  • Save comparison price
  • Predefined fuels

📍 Roadmap

  • History of fuel comparisons
  • Register new fuel
  • News about fuels
  • Customization (theme, language)
  • Register new vehicle
  • Backup/Restore data
  • Share fuel comparison

🏗️ Architecture

Wireframe flow

wireframe flow image

Use Case Diagram

use case diagram image

📦 Modules by feature & by layer

flowchart TD
    subgraph clusterUI[UI]
        UI_ONBOARDING(fa:fa-passport :ui:onboarding):::ui
        UI_COMPARATOR(fa:fa-code-compare :ui:comparator):::ui
        UI_HISTORIES(fa:fa-list :ui:histories*):::ui
        UI_FUELS(fa:fa-car :ui:fuels*):::ui
        UI_NEWS(fa:fa-newspaper :ui:news*):::ui
        UI_SETTINGS(fa:fa-gear :ui:settings*):::ui
    end
    
    subgraph clusterDOMAIN[DOMAIN]
        UI_COMPARATOR -->  DOMAIN_COMPARATOR[fa:fa-code-compare :domain:comparator]:::domain
        UI_COMPARATOR -.-> DOMAIN_FUELS[fa:fa-car :domain:fuels]:::domain
        UI_COMPARATOR -.-> DOMAIN_HISTORIES[fa:fa-list :domain:histories]:::domain
        UI_FUELS      -->  DOMAIN_FUELS
        UI_HISTORIES  -->  DOMAIN_HISTORIES
        UI_NEWS       -->  DOMAIN_NEWS[fa:fa-newspaper :domain:news*]:::domain
        UI_SETTINGS   -->  DOMAIN_SETTINGS[fa:fa-gear :domain:settings*]:::domain
    end
    
    subgraph clusterDATA[DATA]
        DOMAIN_HISTORIES --> DATA_HISTORIES[fa:fa-list :data:histories]
        DOMAIN_FUELS     --> DATA_FUELS[fa:fa-car :data:fuels]
    end

    subgraph clusterLIBS[LIBS]
        DATA_HISTORIES:::data --> LIB_DATABASE[fa:fa-database :libraries:database]
        DATA_FUELS:::data     --> LIB_DATABASE
    end
    
    LIB_DATABASE --> id1[(fa:fa-database Room Database)]
    
    classDef ui fill:#00e489,color:#000
    classDef domain fill:#fe8a65,color:#000
    classDef data fill:#0b99f3,color:#000

ViewIntent

graph TD
    Activity/Fragment --> |"dispatchViewIntent(ViewIntent)"| ViewModel
    ViewModel -.-> |"setState(State)"| Activity/Fragment
    ViewModel -.-> |"sendAction(Action)"| Activity/Fragment

📜 Requirements

💿 Installation

git clone git@github.com:filipe1309/AbasteceAi.git
cd AbasteceAi

🏃 Running

./gradlew run

⚙️ Gradle Tasks

Generate project dependency graph

 ./gradlew projectDependencyGraph

Then, open Project module dependency graph created at /build/reports/dependency-graph/project.dot.png

🔗 References

License

MIT

About Me


Done with  :heart:  by filipe1309 🖖


@ Generated with ShubcoGen Template™

About

This project was developed to help people decide which fuel to use in their vehicles, based on the current price and the efficiency of each fuel

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages