aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 71690f96f1dc5b3e55e07f35a55dce18ebb93d0b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
# Aclog [![Build Status](https://travis-ci.org/rhenium/aclog.png?branch=master)](https://travis-ci.org/rhenium/aclog) [![Coverage Status](https://coveralls.io/repos/rhenium/aclog/badge.png)](https://coveralls.io/r/rhenium/aclog)
Collects favs and retweets in real time by UserStreams.

## Aclog is
* powered by Ruby on Rails
* completely free and open source (The MIT License)

## Status
* *unstable*
* Working on [aclog.koba789.com](http://aclog.koba789.com)

## Features
* Collecting favorites and retweets from Twitter Streaming API
* Protected account support
* JSON API (OAuth Echo)
* Atom feed

### Not yet / will be implemented
* New UI
* Import tweets from Favstar / Favotter / tweets.zip / ..

## Requirements
* Ruby 2.1.0/2.0.0
* MySQL/MariaDB 5.5.14+ (needs utf8mb4 support)

## Installation
### Database
* Create MySQL user

### Aclog (Application Server)
* Clone the source

        $ # We'll install aclog into /var/webapps/aclog
        $ cd /var/webapps
        $ git clone https://github.com/rhenium/aclog.git
        $ cd /var/webapps/aclog

* Configure it

        $ # Copy the example aclog config
        $ cp config/settings.yml.example config/settings.yml
        $ # Edit it
        $ vi config/settings.yml

        $ # Copy the example aclog database config
        $ cp config/database.yml.example config/database.yml
        $ vi config/database.yml

        $ # Set random secret_token
        $ cp config/initializers/secret_token.rb.example config/initializers/secret_token.rb
        $ sed -i s/replace_here/$(rake secret)/g config/initializers/secret_token.rb

        $ # Setup database. This will create database and tables on MySQL server.
        $ rake db:setup

* Install Gems

        $ bundle install

* Start your aclog

        $ # Start Unicorn (Web server)
        $ ./start_unicorn.sh start
        $ # Start Background server
        $ ./start_receiver.sh start

### Aclog (Collector Clusters)
* Chdir

        $ cd /var/webapps/collector

* Configure it

        $ # Copy the example collector config
        $ cp settings.yml.example settings.yml
        $ # Edit it
        $ vi settings.yml

* Install Gems

        $ bundle install

* Start collector

        $ RAILS_ENV=production bundle exec ./start.rb


## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request