This app uses:
- web process
TentStatus is a Sinatra/Backbone app that sends/receives Tent status posts.
heroku create --addons heroku-postgresql:dev heroku pg:promote $(heroku pg | head -1 | cut -f2 -d" ") heroku config:add APP_NAME='TentStatus Standalone' STATUS_ASSET_MANIFEST='./public/assets/manifest.json' COOKIE_SECRET=$(openssl rand -hex 16 | tr -d '\r\n') git push heroku master heroku open
tent-status has only been tested with Ruby 1.9. If you don't have Ruby 1.9 you can use your operating system's package manager to install it.
The easiest way to get Ruby 1.9 on OS X is to use Homebrew.
brew install ruby
sudo apt-get install build-essential ruby1.9.1-full libxml2 libxml2-dev libxslt1-dev sudo update-alternatives --config ruby # make sure 1.9 is the default
tent-status requires a PostgreSQL database.
brew install postgresql initdb /usr/local/var/postgres postgres -D /usr/local/var/postgres createdb tent_status
Bundler is a project dependency manager for Ruby.
gem install bundler
brew install node on OS X).
Clone this repository, and
cd into the directory. This should start the app:
bundle install DATABASE_URL=postgres://localhost/tent_status APP_NAME='TentStatus Standalone' COOKIE_SECRET=abc bundle exec puma -p 3000
There are additional ENV variables not presented above which can be configured as desired:
| name | description | | ---- | ----------- | | APP_ICON | URL pointing to an app icon used when creating the app in the OAuth flow | | APP_URL | URL app your app (e.g. https://status.example.com) that is also used in the OAuth flow | | APP_DESCRIPTION | Short description of your app that is used in the OAuth flow | | PRIMARY_ENTITY | An entity URI used to display a profile page instead of requiring authentication | | AIRBRAKE_API_KEY | API key for exception logging via Airbrake | | AIRBREAKE_HOST | Airbrake host to send exceptions to |
Here are some tasks that need to be done:
- Add HTML5 location to posts (opt-in)
- Fix replies to mentions when on the mentions page from inserting into the feed
- Add inline conversation view (or a modal which renders the existing one)
- Show location and other data from basic profile on the profile page
- Dim domain.com when subdomain isn't www
- Show number of unread posts in parens in page title
- Add permissions field (including public checkbox) (see new_post_form.js.coffee)
- Scale avatar to 16x16px and display as favicon on profile pages
- Add section to view who reposted your posts
- Collapse multiple reposts of the same post into a single post with multiple names/avatars listed at the bottom
- Make it clear which followers are recent on followers page
- Mark nav items selected (add 'active' class)
- Add pluralizations (e.g. '1 Post', '6 Posts')
- Timestamps on single post view should show full date
- Add option to insert posts directly into the feed (rather than click 'x New Posts' bar)
- Add option to show/hide replies from people your not following
- IE compatibility
- Add pagination query string to url and reload that position when reloading the page (load specified page and show 'x Newer Posts' bar above it which should load the previous page.)
- Write tests/refactor code.