Giter VIP home page Giter VIP logo

messenger's Introduction

README

Tiny Messenger

Message Broadcasting

This app uses Grape framework to build microservices-ready APIs. Each part of the API can be easily separated and mounted as a standalone microservice, Rack-compatible. Rails is being used here as an umbrella app with Grape-based APIs mounted in.

more info https://github.com/ruby-grape

Project requirements:

Ruby 2.3.3
Redis
PostgreSQL

Installation Guide

git clone [email protected]:leafmind/messenger.git
cd messenger
(rvm install ruby-2.3.3) if you haven't installed it already
(optional: check out /doc folder which contains source-code-related docs)

Local Setup

(check settings.yml and settings/development.yml and make changes accordingly)
bundle install
bundle exec rake db:create db:migrate db:seed
bundle exec rspec spec
bundle exec rails s

Heroku Setup

heroku login
heroku git:remote -a ancient-shelf-98201 (paste your app name)
git push heroku master
heroku run bundle exec rake db:migrate
heroku run bundle exec rake db:seed
heroku addons:add redistogo
heroku config --app your_app_name | grep REDISTOGO_URL
(put this url to config/cable.yml production section)
(Also you should change your app name in config/settings/production.yml) git push heroku master

deployed on heroku
https://ancient-shelf-98201.herokuapp.com

Usage Guide

  1. Register
  2. Choose a room
  3. Type something
  4. Check out the API LiveDoc: https://ancient-shelf-98201.herokuapp.com/swagger
  5. Add some messages via LiveDoc and check out the room again
  6. Add URIs to websites or images to your message
  7. Be Happy
    Goto 1 and connect several users to the 'messages' room to see live broadcasting from REST API(Swagger) in action You can use your own API token in Swagger instead of a debug token(You will find it on the rooms page after registration)

LiveDoc(Swagger)

Swagger allows you to easily interact with your app's REST API, providing flexible documentation solution at the same time

https://ancient-shelf-98201.herokuapp.com/swagger

messenger's People

Contributors

leafmind avatar

Watchers

 avatar James Cloos 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.