Skip to content

A sample app to watch the articles in Qiita and just my practice to implement with MVVM + Clean Architecture

License

Notifications You must be signed in to change notification settings

KaoruMuta/QiitaChecker

Repository files navigation

QiitaChecker

What Is This App?

QiitaChecker enables you to watch the latest articles of Qiita. However, some problems are existed and should be revised.

App Architecture

In this app, I adopted MVVM + Clean Architecture. A Detail is shown in this figure.
This app separates three layers, presentation layer, domain layer, and data layer. In presentation layer, UI Event and Databinding are handled with ViewController and ViewModel. Essentially, presentation logics are stored in ViewModel. In domain layer, UseCase stores and performs business logics and translates received immutable data (Entity) into Model through Translator. In data layer, Repository receives immutable data with DataStore and pass it to UseCase. Also, DataStore receives the immutable data as Entity from QiitaAPI and pass Entity to Repository.

How To Run This App

  1. rbenv, carthage, mint setup
    Just run this command in your terminal
brew install rbenv ruby-build
brew install carthage
brew install mint
  1. rbenv install
    Just run this command in your terminal
rbenv install $(cat .ruby-version)
  1. set the path in .bashrc and run .bashrc
    Write the command in .bashrc to set the path
[[ -d ~/.rbenv  ]] && \
  export PATH=${HOME}/.rbenv/bin:${PATH} && \
  eval "$(rbenv init -)"

and run it with this command

source ~/.bashrc
  1. bundler install
    Just run this command in your terminal
gem install bundler:2.0.1
  1. run Makefile and open the workspace
    Just run this command in the project root in your terminal
make

and

open QiitaChecker.xcworkspace

Future Work

  • Improve UX (ex. add checkbox in TagCell to watch whether item is selected or not)
  • add the function to search tags and posts by themselves

Used Libraries

Acknowledgements (Reference for Me Specifically)

License

Under MIT License

About

A sample app to watch the articles in Qiita and just my practice to implement with MVVM + Clean Architecture

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages