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 :)
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.
- 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/
- Pinned messages
- Better notifications
- Packages structure (for extensibility)
- See the roadmap for more and get involved with bringing these features to life
- 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>
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
- Code follows the Meteor Style Guide
- Code doesn’t break things (The app can still run)
This project is in flux at the moment, these are the currently agreed upon client side libraries:
- CSS Pre-Processor: Sass / .scss
- Icon Font Library: FontAwesome
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
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.
Thanks to @timbrandin who created this material for a Meteor workshop.
Note that SpaceTalk is distributed under the MIT License.
Copyright © 2015 Tim Brandin & SpaceTalk