Skip to content

CodeForPhilly/laddr

Repository files navigation

laddr

Laddr -- pronounced "ladder" and named after the essential tool for fire brigades -- is an online homebase for your local Code for America Brigade. It is designed to be cheap-to-host and easy-to-hack platform for civic hacking groups to maintain an online presence and automate support for their real-world operations.

Getting started

There are three ways to get started with Laddr:

Dependencies

Install recent versions of Habitat and Docker on your Linux, Mac, or Windows workstation.

Clone Laddr

cd ~/Repositories/laddr # or wherever you cloned this rep

# expose port 7080 (http) and 3306 (mysql) from any Docker container started by Habitat
export HAB_DOCKER_OPTS="-p 7080:7080 -p 3306:3306"

# launch and enter a Habitat studio
hab studio enter

# once the studio has finished loading, start all services with a local database
start-all

# clone a production instance's database
load-sql https://codeforphilly.org

# build and load the site, then wait for file changes
watch-site

At that point you should be able to see an instance at http://localhost:7080 and any edits should be reflected live

Extend Laddr

For a permanent instance of laddr, you might want to consider deploying an extending project rather than laddr itself. CodeForPhilly.org for example, is deployed from a repository that only contains a layer of customization that gets applied on top of laddr's repository. This gives you a place to change things like your brigade's logo or add new features without forking your own whole version of laddr.

To start a new extending project, initialize a new repository and copy the .holo/ tree from the codeforphilly repository as a starting point. Replace codeforphilly with an identifier of your choice for your own project (maybe the repository name) in .holo/config.toml and rename .holo/branches/emergence-site/_codeforphilly.toml to match.

Then follow the same steps above to launch the project inside a container.

Support

Features

  • Projects Directory
  • Members Directory
    • Members can upload photos, write a bio in markdown, and tag themselves with topic and tech tags
  • Meetup.com integration
    • Upcoming events pulled from meetup.com API for homepage sidebar
    • Current and next event highlighted
    • Members can checkin to current event and optionally pick what project they're working on
  • Project Updates
  • Project Buzz
  • Big Screen
    • A live status page for display during events
    • Latest member checkins to event
    • Markdown box for announcements
  • Localizable
    • Language selector in the footer for visitors and configurable site-wide default language
    • English and Spanish translations available
    • Croatian and Korean translations in progress

Brigades using Laddr