Code Monkey home page Code Monkey logo

brigade's Introduction

The Code for America Brigade Website

Code for America Brigades are local volunteer groups that bring together community members to help make government work better. Brigades use technology to build new tools to help with local civic issues. Code for America supports Brigade chapters with resources, tools, and access to the wider civic technology movement.

This repo is for the Brigade website [https://brigade.codeforamerica.org/].

Installation

The Code for America Brigade site is built on Flask and Python with a little bit of Javascript. The brigade/views.py file describes the routes. The brigade/templates files have the HTML templates.

Set up a Python virtual environment.

python3 -m venv env
source env/bin/activate

Install the required libraries.

pip install -r requirements.txt

Install Node and frontend dependencies with npm

brew install node
npm install

During development, run webpack.

./node_modules/.bin/webpack --watch

Then run the server in debug mode:

FLASK_ENV=development FLASK_APP=brigade.wsgi flask run

The server will be available at http://localhost:5000/.

or run it using Honcho and the Procfile:

honcho start

You can also run unit tests like this:

python manage.py runtests

Goals

This website is meant to:

  • Explain what the Brigade program is
  • Help people find their local Brigade
  • Show off the fine works of the Brigades
  • Provide tools that help Brigade work
  • Make it easy to start a new Brigade

Project Search

The Project Search page is a new service we built to search across thousands of civic technology projects. Go try it out, we think its pretty useful.

Read more at README-Project-Search.md

History

The Brigade program started in 2012 as an experiment, largely copying the success of Chi Hack Night (known at the time as Open Gov Hack Night).

This website is on its third version. V1 Was a Rails site with many contributors. It served the Brigade well as it was growing. As Code for America became better at supporting the volunteer groups, we needed something different.

The CfAPI was built as reaction to how Brigades were operating themselves. We now meet them where they are, instead of trying to get them to log into our site.

V2 was powered by the CfAPI and worked great, yet was built quickly with PHP and Javascript. It was kind of a cobweb of dependent parts.

V3, the current site, is meant to simplify the code and make it easier for Brigade members to get involved in building the Brigade site.

Contacts

Copyright

Copyright (c) 2015–2020 Code for America.

brigade's People

Contributors

abhinemani avatar ahelkit avatar arielcharney avatar awesomizer avatar brennandunn avatar brielleplump avatar davecap avatar eunicekokor avatar fritzjooste avatar glassresistor avatar hannahyoung avatar hotgazpacho avatar joelmahoney avatar mapmeld avatar mick avatar migurski avatar milafrerichs avatar moniquebt avatar noneck avatar ondrae avatar prestonrhea avatar rmcastil avatar ryanatwork avatar sferik avatar tdooner avatar thedelchop avatar tmaybe avatar verythorough avatar ycombinator avatar zsiec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brigade's Issues

Update /captain page

Remove "Click to Apply" and change the text below it to:

Our inaugural class of the Brigade Captains program is currently underway. Classes are annual. The current class will run from September 1 to August 31. Future classes may start bi-annually. Don't wait until the next class of Brigade Captain to get started as a leader and organizer for Brigade in your city! Email the Brigade Support Team and let us know that your interested [MAILTO LINK, ?subject=I want to lead and organize in...]. Create a Brigade Meetup [LINK], invite your friends and hold your first meeting to choose an activity [LINK].

Need to handle Brigades that don't use Meetup Everywhere

We use Meetup Everywhere to organize Brigade meetings across the country. However, there are practical benefits in other platforms and constraints in Meetup Everywhere that too great to ignore & we can't insist that every brigade use Meetup Everywhere.

As we start to see preferences toward other platforms for scheduling regular meetings besides Meetup Everywhere we are concerned about fragmenting our ability to show them all in one place.

We need to figure out a way to let brigades choose their meeting scheduling platform and also make it practical to group all.

The main alternatives that brigades are using are Facebook & paid Meetup. A calendar feed should also be considered as possible input to a group all capability.

Send Temp Password & Instructions in Greeting

Insert the temporary password and change instructions into the welcome letter sent to new members after they sign up (greeting.html.haml).

Example:

%p
%em
You have been issued a strong random password delivered over unencrypted email.
Your random password is:
#{:erb params[:user][:password]}
You may keep this random password in your records and enter it to log in or you may change your password to something you prefer. To change your password visit your profile [LINK to PROFILE] and change your password using your randomly assigned password

Level of effort:
Easy.

Rationale:
When a new member signs up on the brigade home page he or she is issued a random password to keep sign up fields down to name & email. The random password is not revealed to the new member but could be delivered in the welcome letter (/app/views/signup_mailer/greeting.html.haml & greeting.text.haml). Most new members discover the "Edit" link on their new profile page immediately after signing in. Editing a profile requires a password. These members cannot edit their profiles because they don't know their password. Many try to change their password, which requires the existing, random password. This also fails. These members leave confused. Many of these members write brigade-info for help.

Brigades Need Locations

As a visitor I want to...
...see where Brigades are located.
...see which Locations have Brigades.
...search for Brigades by Location.

/users

Should:

  • show gravatars

Registration on site should send Welcome Member email

When a new member registers on the platform, the new member should receive a welcome email:

Welcome to Code for America Brigade!

We are glad you decided to join a strong, growing network of civic minded, volunteer hackers who want to help municipal governments and community organizations make better use of the web.

Thank you!

Here are two things that will happen next:

  1. You will be added to the [email protected] discussion forum using the email address you provided here.
  2. We will attempt to match you with a local brigade leader or send you information on how to start a brigade if there is not one in your area

Here are three things you should do next:

  1. Complete your profile and confirm your contact preferences
  2. Get to know Brigade Activities [LINK]
  3. Browse the discussion forum Introduce yourself by replying to the Introductions thread [LINK]

Best Regards,
Kevin & Jack
[email protected]

Add custom favicon

The favicon is a default icon. We need a Brigade icon up there! Can by start using the helmet.

App Email Lists

Several of the apps have dedicated developer lists. Some apps need lists created for them. Add an group email to the model for application and show in views.

Error with bundle install

It seems that
on line 49: gem 'rmagick', '> 2.13.1', :require => 'RMagick'
and on line 135: gem "capybara-webkit", '
> 0.9.0'
are generating errors during bundle install. Commenting out those 2 lines results in a successful install.

Duplicate Brigades

There are duplicate brigades.

For example, there are 3 Code for America Brigades. One is Code For America (capital "F").

Brigades should not allow duplicates. Duplicates should be case insensitive.

Design Achievement Badges

Create badge/patch/iconic designs for achievements such as:

  • Opening Data
  • Redeploying an app
  • Committing to an open source civic software repo
  • Leading an open government initiative
  • Field testing an app

Sign Up response message indicates failure

After submitting the Get Started form the "Something Went Wrong" message is returned.
The new Member is registered with Brigade.
A welcome letter is not sent.

This is high priority

Change Welcome Letter response from Brigade Concierge to Global Brigade List

New members receive an automated Welcome Letter from brigade-info@ that asks them to reply (to brigade-info@) with an introduction.

Change the From/Reply and instructions to direct the member to reply to brigade@.

This may require a change to the language and instructions of the Welcome Letter

Files:
https://github.com/codeforamerica/brigade/blob/master/app/mailers/signup_mailer.rb
https://github.com/codeforamerica/brigade/blob/master/app/views/signup_mailer/greeting.html.haml
https://github.com/codeforamerica/brigade/blob/master/app/views/signup_mailer/greeting.text.haml

Notify & Welcome New Member

When a new member registers with the platform I want to automatically welcome the member and I want to be notified of the new member via email to [email protected]

So that the new member will be properly welcomed into Brigade.
So that I can follow up with a personalized reply.

Reply to new member with:
https://docs.google.com/a/codeforamerica.org/document/d/1FPxjD1GXSYbqEmh2sYZ2wSC7gQQjM3P_AdjVq6cxicw/edit

Send to brigade-info:
New Member, [NAME], from [CITY] has joined Brigade. Please take a moment to welcome [NAME].

[Link to Profile]

Member cannot delete profile

There is no way for a member to delete his or her profile after it has been created. Insert a "Delete Profile" option on the member's profile page. Be sure to confirm that delete is the intended action.

Join

There should be a more direct way for users to register with the platform when they are want to connect but are not yet committed to an app.

Type "Detroit" on the home page. Do you you know what to do next? If not, we need to fix the page that shows for locations where nothing is yet happening.

Expose Application Name Attribute to Rails Admin

As an admin I cannot set the Name attribute for an Application or Deployed Application in Rails Admin. Name is only pulled in from Civic Commons via Node ID.

As an admin I need to be able to create an Application and/or Deployed Application with a custom Name; i.e., a Name that I type in Rails Admin.

So that I can create show pages for projects that are not strictly App deployments, ex., Tuscon, AZ is working on an Open Government Initiative. OGI is a "re-deployable" thing but it is not an app.

The attributes for projects and deployable apps are the same and the show pages should be the same. There are no attributes for custom projects that are not applicable to Application/Deployed Application. Given the ability to set a custom Name we should have what is needed.

Note that that a custom named application will NOT have a Civic Commons Node ID. The platform needs to handle Applications and/or Deployed Applications that do not have Node IDs from CC.

Errship Gem Not working

Errship gem should display the correct error page when an error occurs but it's not happening

Example

If you load up http://brigade.codeforamerica.org/locations the 404 page should render but instead the default Rails 404 renders
If you go to http://brigade.codeforamerica.org/notfound then the correct 404 page shows

This also happens with 500 pages

http://brigade.codeforamerica.org/error
versus
http://brigade.codeforamerica.org/deployed_applications
Which renders the default Rails 500 page instead of the nice 500 page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.