Code Monkey home page Code Monkey logo

composeclean's Introduction

Jet pack compose with clean architecture and MVI

In this project you can find:

Points Links
Compose Jet pack compose
Clean Architecture Clean architecture
Hilt Hilt
Room Room
MVI MVI
Flow Flow

This Android app helps you memorize your vocabulary. Your mind will create a connection between the word and the image. You can get it if you review your vocabulary by doing a daily test. The daily test has three options.

Features:

  • You can group your words.
  • Each saved word will have an image and web link.
  • You can review your vocabulary with a test.
  • In the test, you can choose three options:
    • To choose your list of words within a group.
    • To type the word within a group.
    • To spell out the word like the Hangman game.

This Android app has four screens:

  • Group list where you can add and remove groups.
  • Wordlist where you can add, edit and delete the words, also view the detailed word with the web view component.
  • Test screen where you can choose three options, choose a word from the word list or type the word or spell out the word.
  • Statistics screen where you can see your tests results.

How to do the Vocabulary test? Given a picture, you can choose the correct word if you choose the list option or type the word if you choose the typing option, or spell if you choose the hangman option.

Developed By

  • Javier González

License

MIT

Free Software, Hell Yeah!

composeclean's People

Contributors

javiergonzal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

composeclean's Issues

Passing ViewModel instance to child components

I am not sure this adheres to the official recommendations, thus not making it very clean. As I understand, view model instances shouldn't be passed down to children components. Say, you have view model at GroupScreen - this is where it should be - but it shouldn't be passed down to children views, such as AddGroupDialog:

https://developer.android.com/topic/architecture/ui-layer/stateholders#viewmodel-as

Warning: Don't pass ViewModel instances down to other composable functions. Doing so couples the composable function with the ViewModel type, making it less reusable and harder to test and preview.

AddGroupDialog should not be aware of the model. It can get states and some callbacks passed down from the page component.

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.