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.
There are three ways to get started with Laddr:
- Request free hosting of a copy for your brigade, courtesy of Code for Philly
- Clone laddr to work on and contribute to its core, shared functionality
- Extend laddr to create a workspace for customizing a copy of laddr for your brigade without forking the whole thing
Install recent versions of Habitat and Docker on your Linux, Mac, or Windows workstation.
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
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.
- Laddr forum/wiki
- #laddr channel in Code for Philly's Slack
- #laddr channel in Code for America's Slack
- laddr issues on GitHub
- Emergence forum/wiki
- Projects Directory
- Each project can have a users URL, developers URL, markdown README
- Projects can be tagged by topic, tech, and event
- Projects list available via dynamic CSV for linking to CfAPI
- 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
- Any project member can post markdown-formatted "updates" to a project
- Updates show up on the project's page, the home page, the global updates feed
- RSS feeds for global and per-project updates
- Project Buzz
- Any site member can log a media article about a project
- Attach photo and an exerpt
- Buzz shows up on the project's page, the home page, and the global buzz feed
- 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