Giter Site home page Giter Site logo

pokemon's Introduction

Approach

  1. I've used this project to teach about Android applications and learn about Hilt and Room libraries (I had never used these libraries before).
  2. The architecture was created using the recommendation by Android Jetpack (complete documentation) with MVVM patttern.
  3. The main application has the folders:
/data
    /di: dependency injection
    /model
        /api: api responses
        /db: database entity
    /network: network functions and validadtions
    /repository: repositories to connect to web services and local storage
    /service
    /util: generic approaches
    /viewmodel
/ui
    /activity
    /fragment
  1. I've created a module called components to encapsulate all components of the application.
    • This approach could be used to encapsulate other parts of the project like data, domain, web service. The better choice depends on the size of the project and how many projects will be linked to it.
  2. I've create only two tests inside components module in androidTest folder to test FlexOptionComponent and SearchBarComponent. I can create more tests later.
  3. About webhook, I've never seen this tool before and I didn't have a lot of time to study and create a permanent link, but I included two calls to send when pokemon is a catch (on the first page) and when pokemon is marked as favorite (on the detail page). You can see all the requests here.
    • Observation: I don't know how long this link will be, so if you have problems and need to create another link you need:
      • Edit URL response with:
        Default status code = 200
        Content Type = application/json,
        Timeout before response = 0
        Response body = { "sv_status" = true }
      • Update data/service/WebHookService.kt with id get in webhook.site.
  4. The pages was create with different layouts to portrait and landscape orientation.
  5. The local database is used only to get a bit history.

pokemon's People

Contributors

gigiojr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.