- Overview
- Inspirations
- Installation and Usage
- Deploy (not recommended yet)
- Troubleshooting
- Changelog
- Core Contributors
- Resources
- Contributing
- License
BrigadeHub is an alpha work in progress of a Code for America Brigade website/portal. This is being built to consolidate the efforts of maintaining a brigade website into a single location, and to allow other non-developer brigade leadership to update content as needed.
brigadehub, while deployed for Code for San Francisco, has not yet been optimized for wide adoption yet. If you deploy this to your production brigade site, you do so at your own risk.
For a complete top-down view of the roadmap, take a look at our active Roadmap Wiki
In short, BrigadeHub is designed to meet some very specific goals:
- Be the external face for the brigade
- Show Leadership / Contact info / member bios
- Brigade Blogging
- Show upcoming events and calendars through Meetup and Google Calendar API integration
- Give new users a place to onboard through tight integration with Github oauth and expandable API integrations
- Display and market active projects through Github API integration
- Allow non-developers to update website info at-will
- Allow developers to hack and customize as desired
- Allow brigades to launch with a single non-dev step to their own environment (most likely Heroku)
This project is originally based on sahat/hackathon-starter, and that's where most of the deploy documents come from, but the codebase has been heavily modified to meet our needs. We're striving to match feross/standard javascript styling, though the original boilerplate didn't conform to that, so it's a wip.
Similar projects have been conceived and implemented previously, most prominently by CodeForPhilly in the form of Laddr. The reason we're building a parallel system is for a few reasons:
- a system that isn't based in PHP, and didn't require a custom Linux VM to run
- to utilize the cross-discipline talents of Node.js developers, who generally can move from front-back end quickly
- a one-click deploy system, preferably to Heroku, that would make deployment of a new hub effortless
- a platform tightly coupled with the Github API, for oauth, handling permissioning and adminning of the github repos easily
- a system that easily lent itself to additional onboarding steps for new members.
Another project which this is pulling inspiration from is CodeForAtlanta's Connector. Chime was also a CMS that had similar goals, but focused on local governments, rather than brigades.
- Command Line Tools
- Mac OS X:
- Windows: Visual Studio
- Ubuntu / Linux Mint:
sudo apt-get install build-essential
- Fedora:
sudo dnf groupinstall "Development Tools"
- OpenSUSE:
sudo zypper install --type pattern devel_basis
- MongoDB
- Node.js v4.x.x (Easiest install is via NVM)
- Uninstall any previously installed Node versions (if you don't already have
nvm
installed) curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash && echo 'export NVM_DIR="$HOME/.nvm"' >> $HOME/.bashrc && echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm' >> $HOME/.bashrc && . $HOME/.bashrc && nvm install 4 && nvm alias default 4 && nvm use 4
- Uninstall any previously installed Node versions (if you don't already have
Note: If you are new to Node or Express, I recommend to watch Node.js and Express 101 screencast by Alex Ford that teaches Node and Express from scratch. Alternatively, here is another great tutorial for complete beginners - Getting Started With Node.js, Express, MongoDB.
The easiest way to get started is to clone the repo:
# Get the latest snapshot
git clone https://github.com/sfbrigade/brigadehub.git
# Change directory
cd brigadehub
# Install NPM dependencies
npm install
# If needed, start mongodb in a separate tab
mongod
To run the server in production, run:
npm start
or if starting for local development:
npm run develop
brigadehub, while deployed for Code for San Francisco, has not yet been optimized for wide adoption yet. If you deploy this to your production brigade site, you do so at your own risk.
If you are outside Code for San Francisco and you want to get a version of brigadehub up for your brigade, fork sfbrigade/brigadehub into your own brigade's organization. Updates should be done using upstream fetches. Contributing back should be done via Pull Request back to this repository :)
These instructions will be updated as the project emerges from the Alpha-release haze :P
No troubleshooting steps yet. Want to add some?
To see what has changed in recent versions of brigadehub, see the CHANGELOG.
- Trent Oswald - Project Lead - (@therebelrobot) <
trentoswald``@``therebelrobot.com
> - Aaron Schachter @aaronschachter
- Andrew Bacon @andrewmbacon
- @davidcarvel
- Deborah @deborahahn
- Debbie Espino @despino
- Gisela @GiselaKay
- Leo Lau @hawflau
- Jason Durant @jaydurant
- John Naulty Jr. @jnaulty
- @johngluck65
- Jesse Szwedko [@jszwedko Owner](https://github.com/jszwedko Owner)
- Judy5000 [@Judy5000 Owner](https://github.com/Judy5000 Owner)
- Justin @Juxtaposeidon
- kanagha @kanagha
- Kevin Litchfield @kevinlitchfield
- Maja Bogeski @majabogeski
- Neri J. Jakubowski Junior @nerijunior
- Patrick Connolly @patcon
- Phips Peter @pspeter3
- @rogeliobonilla
- Tracy @spiffysparrow
- @Thithi32
- Jessica Parsons @verythorough
- @whatdoublechen
- @wrendo
will be adding resources soon
Feel free to chat with the brigadehub core team (and many other users) on sfbrigade
Slack in the #brigadehub
channel (join here), on IRC in the #sfbrigade channel on Freenode, or via opening a new Github Issue here in the repo.
Refer to our CONTRIBUTING.md
doc.
This can be found in brigadehub's wiki as well.