SkillAgentSearch skills...

Brigadehub

[retired, see website] Focus on what your community needs, not your website :computer:

Install / Use

/learn @brigadehub/Brigadehub
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="https://cdn.rawgit.com/brigadehub/brigadehub/master/assets/rasterized/logo-banner-color-white.png" alt="Brigadehub"/>

TrustOSS Compliant Build Status npm Gitter IRC Keep A Changelog JS Standard

Table of Contents

In a nutshell

BrigadeHub is an beta stage data portal for volunteer coding organizations. While being built for Code for America Brigades, it can be be used for any project-based coding organization. It's being built to consolidate the efforts of maintaining a brigade's information into a single location, to distribute the task of content creation across the various non-technical brigade roles, and to enhance the experience of both members and admins of these unique organizations.

For a complete top-down view of the roadmap, take a look at our active Roadmap Wiki (currently being worked on).

In short, BrigadeHub is designed to meet some very specific goals:

  • Provide out-of-the-box utilities for organization admins:
    • Public facing website, with contact page, blog, project profiles and more
    • Admin dashboard
    • Robust content management permissioning and distribution
  • Be easy to install and upkeep. You shouldn't have to dedicate a team just for your website anymore, nor should you need to know how to code to update your site.
  • Be modular, extensible, and hackable. Brigadehub Core provides a simple REST API for minimal deployment if you already have your infrastructure in place.
  • Allow brigades to communicate with each other quickly and effectively

Ways to use

There are three different ways of interacting with/using Brigadehub:

  • Suite: out of the box solution, best if you have no current site solution and don't want to deal with any coding. Swap out themes as you like with community-built solutions.
  • Admin Gateway: Minimal API with a GUI admin gateway, best if you already have a website and want a way of dynamically generating the content of it. You'll need to read up on the Core API to tie it into your frontend, but once deployed, the data can be maintained by non-coders.
  • Mini: This is just a REST API interface. Best if you already have an interface built out and just want to leverage the dataset of Brigadehub.

Depending on the needs of your organization, you'll want to decide which will work best for you.

Note: Unless otherwise specified, links like location.of.mongo and path/to/file do not represent the actual link you need to use in your enviroment, and should be replaced with the appropriate locations.

Suite

Brigadehub Suite is the flagship install of Brigadehub, and is more or less a brigade-in-a-box. It installs three components: Core, Admin Theme, and Public Theme. It's deployed in such a way that you should never need to touch the code, but if you want to, it's a simple matter. It provides Admin tools to manage your brigade information, and a slick frontend to display the info you're managing. Your frontend developers can dynamically pull the data about your brigade via the Core API if they have external tools that need the same data. And you can rest assured that we'll be working on patches and updates over time to make this the most secure and stable platform ever.

Production Install
<details><summary><img src="http://saasiter.com/img/services/heroku.png" height="25" /> Heroku (click to open)</summary><p> Heroku sports this handy one-click-install feature, which will handle most of the configuration for you. Base the install off [brigadehub/brigadehub](https://github.com/brigadehub/brigadehub), and you're good to go (the button below does that ⬇)

Brigadehub Suite Heroku Install

</p></details><br/> <details><summary><img src="https://pbs.twimg.com/profile_images/378800000124779041/fbbb494a7eef5f9278c6967b6072ca3e_normal.png" height="25" /> Docker (click to open)</summary><p> ***Pre-requisites***
  • Docker Engine
  • A running mongo instance, via docker or otherwise

Installation and Running

docker pull brigadehub/suite
docker run -d --expose=8080:desiredport -e MONGODB='mongodb://location.of.mongo:27017/brigadehub-suite' -e PORT=desiredport brigadehub/suite
</p></details><br/> <details><summary><img src="https://www.npmjs.com/static/images/touch-icons/favicon-32x32.png" height="25" /> NPM CLI (click to open)</summary><p> ***Pre-requisites***
  • Node 6.x
  • A running mongo instance
  • Yarn - For installation and package management (replaces NPM in this project)

Installation and Running

yarn global add brigadehub
PORT=desiredport MONGODB_URI=mongodb://location.of.mongo:27017/brigadehub-suite brigadehub-suite
</p></details><br/> <details><summary><img src="http://lepbase.org/wp-content/themes/lepbase-dot-org/images/code-icon.png" height="25" /> Source (click to open)</summary><p> ***Pre-requisites***
  • Git
  • Node 6.x
  • A running mongo instance
  • Yarn - For installation and package management (replaces NPM in this project)

Installation and Running

git clone https://github.com/brigadehub/brigadehub
cd brigadehub
make install
make start
</p></details>
Development Install
<details><summary><img src="http://lepbase.org/wp-content/themes/lepbase-dot-org/images/code-icon.png" height="25" /> Source (click to open)</summary><p> To work on Brigadehub Suite as a developer, you need to clone and link internally all four portions of the suite. Fork all 4 repos into your desired organization or account, and work from those, making sure to update from upstream periodically.

Pre-requisites

  • Git
  • Node 6.x
  • A running mongo instance
  • Yarn - For installation and package management (replaces NPM in this project)

Installation and Running

First, clone the following repositories into your own account, either your organization's org or your personal account:

Once you've forked all four, clone the repos locally (replacing your-account with the appropriate org/account name):

git clone https://github.com/your-account/brigadehub
git clone https://github.com/your-account/core
git clone https://github.com/your-account/theme-public-c4sf
git clone https://github.com/your-account/theme-admin-c4sf

In separate terminals, run the following:

cd theme-public-c4sf
make upstream/set
make install
make link
cd theme-admin-c4sf
make upstream/set
make install
make link
cd core
make upstream/set
make install
make link
cd brigadehub
make upstream/set
make install
make link
make start/develop

Any changes made in core, theme-public-c4sf, and theme-admin-c4sf will restart the server in brigadehub, and allow you to preview the changes. When you're done with your changes, make sure the tests pass via make test, and create a pull request from the appropriate repo.

Sync Changes with Upstream

To pull the most recent changes from upstream/master, run the following command:

make upstream/sync

This will fetch the upstream master branch and merge those changes into your local master branch.

Push Changes Upstream

To push your development changes back to the main brigadehub repo, push your changes up to your branch, and make a Pull Request into the upstream repository's master branch. Please include the following information in your pull request:

  • A description of the problem you are addressing (or feature being added)
  • A link to the related Github Issue (if applicable)
  • If making changes to UI, screenshots of the changes presented
  • List any deprecations that may be presented
  • If you are a new contributor, your name, github handle, and (optionally) website
View on GitHub
GitHub Stars47
CategoryDevelopment
Updated10mo ago
Forks29

Languages

JavaScript

Security Score

67/100

Audited on Jun 5, 2025

No findings