Giter VIP home page Giter VIP logo

kuri's Introduction

Kuri

Kuri is a tool that automatically generates necessary code for iOS CleanArchitecture and imports it into Xcode project.

Usage tutorial.

I gave youtube a video explaining how to use Kuri so please refer also here.

What is CleanArchitecture?

Reference source here

Features of CleanArchitecture are as follows.

  1. Independent of Frameworks.
  2. Testable.
  3. Independent of UI.
  4. Independent of Database.
  5. Independent of any external agency.

Why Kuri?

CleanArchitecture is a very wonderful way of thinking. In the case of products operated in the medium to long term, profits will be large. However, it is not without drawbacks. The amount of code that one writes is large.

So, I thought about making a tool to automatically generate code from some templates. That is Kuri.

Components

I believe that the following concepts are necessary in iOS CleanArchitecture. Kuri will arrange the mechanism for it.

  • Entity - Value object.
  • DataStore - Data store for Entity.
  • Repository - Operation Datastore interface.
  • UseCase - Application operation. translate and CRUD operation to repository.
  • Translator - Translate Entity to Model or Model to Entity.
  • Model - Converted Entity for UI.
  • Presenter - Event handle for View.
  • View - Drawing UI.
  • Wireframe - Control transition of View.
  • Builder - Make a View with Dependency Injection.

Usage

When using "Kuri" Two preparations are necessary.

  • Kuri.yml file.
  • KuriTemplate directory.

But using setup command will prepare these two.

setup

In project file root directory. You can type kuri setup and press enter in CLI tool. The "Kuri.yml" and "KuriTemplate" directories are created unser the current directory.

generate

The form of the generate command basically looks like this kuri generate "MyName". After Executing generate command, you can comfirm to want to append files and directories for MyNameEntity, MyNameRepository, MyNameView and so on into Xcode project.

e.g Execute on terminal where project root directory.

$ kuri generate Kuri

Instructions with options here.

Customize

Kuri.yml and KuriTemplate can be customized respectively.

Installation

Now only manual installation method is available.

Manual

  1. Download Kuri from latest release version
  2. Copy kuri and paste it where you can execute from the CLI.

You can now run the kuri command.

License

Kuri is available under the MIT license. See the LICENSE file for more info.

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.