/SpaceTalk

An open-source chat app built with Meteor

Primary LanguageJavaScriptOtherNOASSERTION

SpaceTalk is an open-source chat app built with Meteor.

Note: SpaceTalk is beta software. Most of it should work but it's still a little unpolished and you'll probably find some bugs. Use at your own risk :)

We Need Your Help!

A lot of work has already gone into SpaceTalk, but it needs that final push to reach its full potential.

So if you'd like to be part of the project, please check out the roadmap and issues to see if there's anything you can help with.

Features

Currently Implemented

  • Teams (group users into separate teams)
  • Channels (each group contains multiple channels)
    • Remove/edit channels
    • Pinned items
    • Channel purpose (description)
  • Users
    • Gravatar for profile pictures
    • Online status
    • Self sign up
  • Messages
    • Emoji, Markdown support
    • Edit & trash your own messages
    • Direct Messaging between users
    • Indication of user typing
    • Rich embeds via https://iframely.com/

On The Way

  • Pinned messages
  • Better notifications
  • Packages structure (for extensibility)
  • See the roadmap for more and get involved with bringing these features to life

Prerequisites

Style Guide & Naming Conventions

  • We're following Meteor Style Guide
  • Template names: <template name="camelCase"></template>
  • Route names: dashed-case/routing-perhaps
  • File names: dashed-case.html, dashed-case.js
  • Custom HTML id / class naming convention: <div id="dashed-case"></div> however class names preferred instead of using ids <div class="some-custom-class"></div>

Getting started

Fork the repository with the top right button and clone your fork:

git clone https://github.com/YOURGITHUBUSERNAME/SpaceTalk.git

Add the remote source to your local clone:

git remote add upstream https://github.com/SpaceTalk/SpaceTalk.git

Start the app:

cd SpaceTalk
meteor run --settings=settings.json

To update your clone do a pull:

git pull upstream master

Commit your changes to your fork, and create Pull Request with github helper

Guidelines for reviewing Pull Requests

  1. Code follows the Meteor Style Guide
  2. Code doesn’t break things (The app can still run)

Libraries

This project is in flux at the moment, these are the currently agreed upon client side libraries:

Packages

This project is in flux at the moment, these are the currently used Meteor packages:

  • markdown
  • reactive-var
  • accounts-password
  • momentjs:moment
  • fourseven:scss
  • copleykj:jquery-autosize
  • tmeasday:gravatar
  • meteorhacks:flow-layout
  • meteorhacks:flow-router
  • peerlibrary:blaze-components
  • mizzao:user-status
  • todda00:friendly-slugs
  • useraccounts:core
  • arillo:flow-router-helpers
  • seriousm:emoji-continued
  • mrt:tiny-scrollbar
  • jquery
  • kevohagan:sweetalert
  • fortawesome:fontawesome
  • aldeed:autoform
  • useraccounts:unstyled
  • dburles:collection-helpers
  • iframely:oembed
  • matb33:collection-hooks
  • qnub:emojione
  • mquandalle:jquery-textcomplete
  • ogourment:settings
  • tmeasday:presence

Disclaimer

This code was part of a Meteor Workshop that took place on the 14th of May 2015 in Gothenburg, Sweden.

We used it to build a chat application in 25 steps (https://slides.com/timbrandin/meteor-slack) – it was originally designed to look a little bit like Slack.

But it was solely made do demonstrate the efficiency and simple nature of Meteor applications.

Credits

Thanks to @timbrandin who created this material for a Meteor workshop.

License

Note that SpaceTalk is distributed under the MIT License.


Copyright © 2015 Tim Brandin & SpaceTalk