Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Resolving conflicts

  • Loading branch information...
commit 0fb551a6d807112c9bb921c75f477ca656863b0e 2 parents 7625b22 + 449f964
David authored
View
89 README.md
@@ -1,3 +1,88 @@
-## Subway
+Subway
+======
-An IRC server client combination.
+*(Note: this is aspirational. Not implemented yet!)*
+
+Subway is an IRC client/server combination. The server works for multiple simultaneous users, with optional persistent connections and logging. The client is a modern JavaScript-heavy web interface. Server/client communication is done with websockets (or best available fallback) via socket.io.
+
+Subway utilizes [node.js](http://nodejs.org/) and
+Martyn Smith's [node-irc](https://github.com/martynsmith/node-irc) on the backend,
+and [Backbone.js](http://documentcloud.github.com/backbone/) and
+[jQuery](http://jquery.com/) on the frontend.
+
+
+Status
+------
+
+Nothing works yet. Functionality to come shortly. If you'd like to contribute,
+there is plenty to do. Tickets for needed functionality also to come shortly.
+
+Installation
+------------
+
+*Should be something like this, once implemented:*
+
+1. Assuming you already have node.js & npm, run:
+
+ $ npm install -g subway
+
+2. Launch the web server
+
+ $ subway
+
+3. Point your browser at `http://localhost:8337/`
+
+Development
+-----------
+
+*Should be about like this, once implemented:*
+
+Replace step 1 above with this:
+
+ $ git clone https://github.com/thedjpetersen/subway.git
+ $ cd subway
+ $ npm link
+
+this should install dependencies, and link the git checkout to your global
+node_modules directory.
+
+History
+-------
+
+Subway is a combination of two projects that started independently
+with a similar technology stack and similar aims:
+
+- [subway-web](https://github.com/thedjpetersen/subway-web) /
+ [subway-server](https://github.com/thedjpetersen/subway-server)
+ by David Petersen
+- [web-irc](https://github.com/akavlie/web-irc) by Aaron Kavlie
+
+Its goals are twofold:
+1) Become the best web-based IRC client available
+2) Provide a really easy method of persistent IRC connections, available
+ from any web browser
+
+
+License
+-------
+
+The MIT License (MIT)
+Copyright (c) 2011 David Petersen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
View
7 bin/subway
@@ -1,7 +1,4 @@
#!/usr/bin/env node
-var Subway = require('../lib/subway').Subway;
-
-var subway = new Subway();
-
-subway.start();
+var subway = require('../lib/subway').subway;
+subway.start();
View
18 lib/subway.js
@@ -1,12 +1,12 @@
-var irc = require('irc');
-var io = require('socket.io');
-var app = require('./webserver').app;
+var irc = require('irc'),
+ app = require('./webserver').app
+ io = require('socket.io');
-var Subway = exports.Subway = function() {
- var self = this;
- self.app = app;
- self.io = io;
- self.irc = irc;
+var Subway = function() {
+ var self = this;
+ self.app = app;
+ self.io = io;
+ self.irc = irc;
}
Subway.prototype.start = function () {
@@ -14,3 +14,5 @@ Subway.prototype.start = function () {
self.app.listen(3000);
self.io.listen(self.app);
}
+
+exports.subway = new Subway();
View
14 lib/webserver.js
@@ -3,15 +3,15 @@ var express = require('express');
var app = exports.app = express.createServer();
-app.configure(function(){
- // executed for each env
- app.use(require('connect-assets')());
+app.configure(function() {
+ // executed for each env
+ app.use(require('connect-assets')());
});
-app.configure('development', function(){
- // executed for 'development' only
+app.configure('development', function() {
+ // executed for 'development' only
});
-app.get('/', function(req, res){
- res.render('index.jade');
+app.get('/', function(req, res) {
+ res.render('index.jade');
});
View
16 package.json
@@ -1,19 +1,21 @@
{
- "author": "David Petersen <davjpetersen@gmail.com>",
"name": "subway",
+ "description": "A browser-based IRC client with server",
+ "keywords": ["irc"],
+ "author": "David Petersen <davjpetersen@gmail.com>",
"version": "0.1.0",
- "main": "./lib/hookio",
+ "main": "./lib/subway.js",
"bin": {
"subway": "./bin/subway"
},
"engines": {
- "node": ">= v0.4.7"
+ "node": ">=0.6.1"
},
"dependencies": {
- "express":"",
- "jade":"",
- "connect-assets":"",
+ "express": "",
+ "jade": "",
+ "connect-assets": "",
"irc": "",
- "socket.io":""
+ "socket.io": ""
}
}
Please sign in to comment.
Something went wrong with that request. Please try again.