All Projects → sgrove → Omchaya

sgrove / Omchaya

Licence: mit
ClojureScript + Om client for Kandan (http://kandanapp.com/)

Programming Languages

clojure
4091 projects

Omchaya

A ClojureScript + Om frontend for Kandan. An example app that's actually useful.

Omchaya Screenshot

Project features

  • Reasonable mobile support
  • Composable plugin system (Thank you real data structures!)
    • Mentions
    • Emoji
    • Youtube/Vimeo/Image embed
    • /me support
    • Inline-pastie
    • RGB/Hex color embed
  • Collaborative music player and queueing system
  • Real-time narrowing search across people, media, music, and messages
  • Keybindings
  • Deep-linking

Getting the project

git clone https://github.com/sgrove/omchaya.git
cd omchaya

Example usage

Omchaya is just for local usage right now. Try a couple of commands:

@mention-a-name
/play <url to an audio-tag-compatible source (mp3, etc.)>
rgb(r,g,b)
#hheexx or #hex
Any youtube/vimeo/img/link will be picked up
Basic pastie support is there

Debug keybindings

  • ctrl-/: Open the history player
  • ctrl-esc: Open the state (Ankha) inspector in an in-app window
  • ctrl-1: Change the path to display for the state inspector window

I don't have Clojure, but I still want to see it!

Use the demo branch:

git checkout demo
scripts/run_server.sh
open http://localhost:9000/dev.html

Running locally

scripts/run_server.sh

This will compile the CLJS code to JS once and start the server hosting the assets.

Developing locally

Start the auto recompiler for the CLJS code:

lein cljsbuild auto

Serve the assets:

python -m SimpleHTTPServer 9000
open http://localhost:9000/dev.html

Omchaya Design

  • Rendering all done via Om/React
  • Each component sends app-logic events to router via core.async channels
  • State transition managed centrally via controller
  • Imperative/side-effects restricted to post-controller

Omchaya Flow

Facebook React Devtools Support

Omchaya uses Om > 0.5.1 to implement IDisplayName for components, so we can take advantage of the Facebook React Devtools > 0.8 to see the structure of your web app in terms of the components you expect.

Here's an idea of what it looks like - notice the name of the tags shown:

Facebook React Devtools <3 Omchaya

License

Omchaya is released under the MIT license, see LICENSE for further details.

Copyright (c) 2014 BUSHIDO INC. unless otherwise mentioned.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].