Skip to content

darren987469/todos

Repository files navigation

Todos

Build Status Maintainability Coverage Status

Features:

  • Todo list to organize your todos
  • Invite other people to join your list
  • Changes to todo are updated through websocket, no need to reload page
  • Every user action is logged and displayed

Detail spec can be found in System Spec

Screen shot

Todo screenshot

API document

Production: https://todos-actioncable.herokuapp.com/swagger Development: http://localhost:3000/swagger

There are two kinds of API: internal and public. Internal API is for internal use and public API is exposed to let 3rd party to integrate. User can generate token with granted permissions and use it to call public API.

How to authenticate with token guide

Environment

Development in Ruby 2.5.1, PostgreSQL 10.2, elasticsearch 6.4.2

brew cask install homebrew/cask-versions/java8 # elasticsearch dependency
brew install elasticsearch

Install

bundle                # install gems
overcommit --install  # add git hook tool
overcommit --sign     # apply git hook. execute it after changing .overcommit.yml
rails db:setup        # create db and seed
rails s               # start server in http://localhost:300

Ignore git hook: SKIP=RuboCop git commit

Development

Follow git flow.

UI is based on ace admin, Demo website

Testing

bin/rspec

Deploy to Heroku

# heroku remote: https://git.heroku.com/todos-actioncable.git
git push heroku master