Update nonprofits structure and remove old directory

This commit is contained in:
Quincy Larson
2016-01-09 23:48:37 -06:00
committed by Berkeley Martinez
parent 7eefcb0705
commit 09b4f1caa2
6 changed files with 0 additions and 553 deletions

View File

@ -1,329 +0,0 @@
[
{
"whatDoesNonprofitDo": "We help the many less-fortunate Jewish families in our community, by providing them with nutritious food and energy to grow, learn, work, and give them hope for a better and brighter future.",
"websiteLink": "http://chasdeikaduri.org/",
"name": "Chasdei Kaduri",
"endUser": "Clients, donors, and admin.",
"approvedDeliverables": [
"website",
"donor",
"inventory",
"volunteer",
"form"
],
"projectDescription": "Campers will create a system will integrate the food inventory, donor and delivery driver management systems as well as replace the current application system with a custom form solution. System will include a more streamlined operations management, with user printable lists of inventory, drivers, and deliveries.",
"logoUrl": "http://i.imgur.com/zQiM0P8.png",
"imageUrl": "http://i.imgur.com/xeRdA87.jpg",
"estimatedHours": 300,
"currentStatus": "completed",
"moneySaved": 60000
},
{
"whatDoesNonprofitDo": "We connect simple technology with last mile communities to reduce poverty.",
"websiteLink": "http://kopernik.info/",
"name": "Kopernik",
"endUser": "Women in rural Indonesia.",
"approvedDeliverables": [
"other"
],
"projectDescription": "Campers will create a Chrome browser extension to preserve sales data from a form, and upload in batches as the internet connection allows.",
"logoUrl": "http://i.imgur.com/xTqjIkC.png",
"imageUrl": "http://i.imgur.com/xBAUJSa.jpg",
"estimatedHours": 100,
"currentStatus": "completed",
"moneySaved": 20000
},
{
"whatDoesNonprofitDo": "We distribute biodegradable toothbrushes globally to children in need.",
"websiteLink": "http://www.operationbrush.org/",
"name": "Operation Brush",
"endUser": "Donors",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will create a mobile responsive website for the organization, with donation capabilities.",
"logoUrl": "http://i.imgur.com/DEDhImE.png",
"imageUrl": "http://i.imgur.com/RuA9Rgy.jpg",
"estimatedHours": 100,
"currentStatus": "completed",
"moneySaved": 20000
},
{
"whatDoesNonprofitDo": "We are the largest roller derby league in the world with around 250 adults and 150 junior skater members plus 500+ volunteers.",
"websiteLink": "http://www.rosecityrollers.com/about/our-charities/",
"name": "Rose City Rollers",
"endUser": "Roller derby administrators, coaches, and volunteers",
"approvedDeliverables": [
"community"
],
"projectDescription": "Campers will create a volunteer management system with multi-user access and reporting capabilities.",
"logoUrl": "http://i.imgur.com/ZZAZSs4.jpg",
"imageUrl": "http://i.imgur.com/WKS4cZ8.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We provide urgently needed pediatric heart surgery and follow-up care for indigent children from developing countries",
"websiteLink": "http://www.saveachildsheart.com/global/young-leadership-program/",
"name": "Save a Child's Heart",
"endUser": "Donors",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will create a single page fundraising website. In exchange for a donation, a user can customize a graphical 'heart' in someone's name or anonymously. The page will display all of the hearts on a 'wall of hearts.'",
"logoUrl": "http://i.imgur.com/t6tpiEW.jpg",
"imageUrl": "http://i.imgur.com/xqhvdn2.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We empower youth with technology by providing age appropriate resources and education.",
"websiteLink": "http://savvycyberkids.org/",
"name": "Savvy Cyber Kids",
"endUser": "Donors",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will create a website where potential donors can view which schools already have the Savvy Cyber Kids books, and donate books to those schools that do not.",
"logoUrl": "http://i.imgur.com/JgxYVJ5.png",
"imageUrl": "http://i.imgur.com/ZTg12ao.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We bring a new edge to arts and medicine in the Bay Area through powerful live performances of new music to those who feel marginalized by their affliction.",
"websiteLink": "http://transcendentpathways.org/",
"name": "Transcendent Pathways",
"endUser": "Medical Facilities, Musicians",
"approvedDeliverables": [
"other"
],
"projectDescription": "Campers will build a website where medical facilities can list music therapy time slots, and musicians can sign up to fill these slots.",
"logoUrl": "http://i.imgur.com/JV4rcKX.png",
"imageUrl": "http://i.imgur.com/gyhrPee.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We have provide volunteer matching fairs and silent art auctions at events across Canada. Rather than bid money on artwork, participants bid volunteer hours.",
"websiteLink": "http://www.timeraiser.ca/",
"name": "Timeraiser",
"endUser": "Working professionals who want to donate their time and expertise",
"approvedDeliverables": [
"other"
],
"projectDescription": "Campers will build a mobile responsive web form to allow Timeraiser eventgoers to select which nonprofit organizations they're interested in volunteering with. System will have Salesforce integration and reporting capabilities.",
"logoUrl": "http://i.imgur.com/USK8ld7.png",
"imageUrl": "http://i.imgur.com/7apWppe.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We focus on raising funds to assist injured homeless animals.",
"websiteLink": "http://www.peoplesavinganimals.org/",
"name": "People Saving Animals",
"endUser": "Animal shelters in Central America and people adopting pets",
"approvedDeliverables": [
"website",
"inventory",
"form"
],
"projectDescription": "Campers will build an adoption database and all related web interfaces and forms to allow animal shelters to easily post animals, photos, and relevant medical information. They'll make it easy for locals to browse these animals and adopt them. Once completed, this project will be translated into Spanish.",
"logoUrl": "http://i.imgur.com/iKcKcpg.jpg",
"imageUrl": "http://i.imgur.com/b9ZeU7R.jpg",
"estimatedHours": 300,
"currentStatus": "completed",
"moneySaved": 60000
},
{
"whatDoesNonprofitDo": "We preserve Florida's health by regulating septic contractors and reviewing logs of sewage collection and disposal.",
"websiteLink": "http://www.floridahealth.gov/",
"name": "Florida Department of Health",
"endUser": "Government workers and independent contractors who must comply with regulations.",
"approvedDeliverables": [
"inventory",
"form",
"other"
],
"projectDescription": "Campers will build mobile responsive web forms to allow contractors to seamlessly log the chain of custody for potentially hazardous sewage. They'll also build a government-facing database that allows for easy monitoring and reporting of activity.",
"logoUrl": "http://i.imgur.com/J3Scbsp.png",
"imageUrl": "http://i.imgur.com/8LEFrKy.jpg",
"estimatedHours": 200,
"currentStatus": "completed",
"moneySaved": 40000
},
{
"whatDoesNonprofitDo": "We strengthen the value of songwriting and independent music in Columbus, Ohio.",
"websiteLink": "http://columbussongwritersassociation.com",
"name": "Columbus Songwriters Association",
"endUser": "Songwriters and their audiences in the Columbus, Ohio community.",
"approvedDeliverables": [
"website"
],
"projectDescription": "Build mobile responsive website that allows users to see browse our partners, their photos and information, and connect with them.",
"logoUrl": "http://i.imgur.com/UN85TI4.jpg",
"imageUrl": "http://i.imgur.com/NFxL1oS.jpg",
"estimatedHours": 100,
"currentStatus": "completed",
"moneySaved": 20000
},
{
"whatDoesNonprofitDo": "We leverage all the benefits of cycling to support and improve the lives of youth and teens in the Triangle region.",
"websiteLink": "http://www.trianglebikeworks.org",
"name": "Triangle Bike Works",
"endUser": "Youth and teens in the Triangle region.",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will build a website with donation integration.",
"logoUrl": "http://i.imgur.com/T5OkXuT.png",
"imageUrl": "http://i.imgur.com/7bOaMPq.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We work to eradicate female genital mutilation in the US and Gambia. We work with survivors and communities.",
"websiteLink": "http://safehandsforgirls.org/",
"name": "Safe Hands for Girls",
"endUser": "Supporters",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will build a website with donation management.",
"logoUrl": "http://i.imgur.com/QnAY6Ji.png",
"imageUrl": "http://i.imgur.com/s9E4oa9.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We're a part of the Department of Psychiatry at Mass General Hospital. We teach an innovative way for helping people that have challenging behaviors.",
"websiteLink": "http://www.thinkkids.org/",
"name": "Think Kids at Massachusetts General Hospital",
"endUser": "Volunteers, Administrators",
"approvedDeliverables": [
"volunteer"
],
"projectDescription": "We would like help developing a simple online based portal for both our trainees and trainers where we can store and share documents, track their progress, and incorporate a blackboard/chat forum.",
"logoUrl": "http://i.imgur.com/fu6dTmH.png",
"imageUrl": "http://i.imgur.com/hiGJms5.png",
"estimatedHours": 300,
"currentStatus": "started",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We enable, educate, and empower students from rural backgrounds in Uttar Pradesh, India.",
"websiteLink": "http://www.milaan.in/",
"name": "Milaan",
"endUser": "Supporters",
"approvedDeliverables": [
"website"
],
"projectDescription": "Campers will build a basic website for the US operations of Milaan. ",
"logoUrl": "http://i.imgur.com/GLq1qqD.png",
"imageUrl": "http://i.imgur.com/PkMHQ8N.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We're committed to closing the opportunity gap for children in Baltimore City by providing high quality after school and in-school programs.",
"websiteLink": "http://childfirstauthority.org/",
"name": "Child First Authority",
"endUser": "School Coordinators",
"approvedDeliverables": [
"volunteer"
],
"projectDescription": "Campers will build a dynamic database that will allow 7 community school coordinators to (1) input student-level absenteeism data, (2) code and track outreach efforts, (3) code root causes for absenteeism, and (4) track trends in each area. Currently, Child First uses an unwieldy excel spreadsheet to do this.",
"logoUrl": "http://i.imgur.com/YlPsQmN.jpg",
"imageUrl": "http://i.imgur.com/Z2RfQku.gifv",
"estimatedHours": 200,
"currentStatus": "started",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We are an interdisciplinary team that works towards harmony among humans and nature through three distinct branches: sustainable agriculture, environmental education and applied and appropriate technology; focused in Líbano, Tolima, Colombia.",
"websiteLink": "",
"name": "QET America",
"endUser": "Donors",
"approvedDeliverables": ["Website"],
"projectDescription": "Campers will build a multiple language website (English, Spanish) that accepts donations.",
"logoUrl": "http://i.imgur.com/jPuiPOy.jpg",
"imageUrl": "http://i.imgur.com/zaaL2pj.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "1to1 Movement provides free environmental education in schools",
"websiteLink": "http://1to1movement.org/",
"name": "1 to 1 Movement",
"endUser": "Pledgers",
"approvedDeliverables": ["Web App"],
"projectDescription": "Campers will build a simple, social, data-driven application that allows people to see the impact of their actions. User can make a pledge and track the outcome. Will make use of the D3.js visualization library.",
"logoUrl": "http://i.imgur.com/jaqxg0O.png",
"imageUrl": "http://i.imgur.com/GXSWTZw.jpg",
"estimatedHours": 300,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "Our missions is to elevate the national dialogue and engage the American people around climate change policy and the promotion of real clean energy solutions in the United States.",
"websiteLink": "http://www.usclimateplan.org/",
"name": "US Climate Plan",
"endUser": "Donors",
"approvedDeliverables": ["Website"],
"projectDescription": "Campers will build a basic website for sharing information, feeds from different campaigns websites.",
"logoUrl": "http://i.imgur.com/uAyUiMN.png",
"imageUrl": "http://i.imgur.com/2Og5tqy.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "We empower the community through improved literacy.",
"websiteLink": "http://www.tleliteracy.com/",
"name": "The Learning Exchange",
"endUser": "Community members",
"approvedDeliverables": ["Website"],
"projectDescription": "Campers will build a simple website to replace essentialskillsquebec.com. Site will host many documents related to the Nine Essential Skills.",
"logoUrl": "http://i.imgur.com/jXQY01H.png",
"imageUrl": "http://i.imgur.com/iUXBpeL.jpg",
"estimatedHours": 100,
"currentStatus": "started",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "Options Inc. is an organization that was founded in 1979 to assist adults with disabilities in living and working in the community. We provide transportation to approximately 230 individuals.",
"websiteLink": "www.options-inc.org",
"name": "Options Inc.",
"endUser": "Administrators and Persons with Disabilities",
"approvedDeliverables": ["Web App"],
"projectDescription": "Campers will build a system to store all of Options Inc.'s clients addresses, optimize routes for our 23 vehicles, and schedule their staff for these routes.",
"logoUrl": "http://i.imgur.com/jGWRMuF.jpg",
"imageUrl": "http://i.imgur.com/VUuJJlM.jpg",
"estimatedHours": 300,
"currentStatus": "open",
"moneySaved": 0
},
{
"whatDoesNonprofitDo": "Our goal is to improve addiction treatment and recovery services through targeted outreach, policy development, and direct support services for addicts, their families and health professionals.",
"websiteLink": "http://www.taadas.org/",
"name": "Tennessee Association of Alcohol Drug and other Addiction Services",
"endUser": "Administrators and Persons with Disabilities",
"approvedDeliverables": ["Website"],
"projectDescription": "Campers will build a modern, mobile-responsive website.",
"logoUrl": "http://i.imgur.com/kYHgY0F.jpg",
"imageUrl": "http://i.imgur.com/W6L1sGV.jpg",
"estimatedHours": 100,
"currentStatus": "open",
"moneySaved": 0
}
]

View File

@ -1,107 +0,0 @@
var Rx = require('rx');
var debug = require('debug')('freecc:nonprofits');
var observeMethod = require('../utils/rx').observeMethod;
var unDasherize = require('../utils').unDasherize;
var dasherize = require('../utils').dasherize;
module.exports = function(app) {
var router = app.loopback.Router();
var Nonprofit = app.models.Nonprofit;
var findNonprofits = observeMethod(Nonprofit, 'find');
var findOneNonprofit = observeMethod(Nonprofit, 'findOne');
router.get('/nonprofits/directory', nonprofitsDirectory);
router.get('/nonprofits/:nonprofitName', returnIndividualNonprofit);
app.use(router);
function nonprofitsDirectory(req, res, next) {
findNonprofits({
order: 'moneySaved DESC'
})
.flatMap(
(nonprofits = []) => {
// turn array of nonprofits into observable array
return Rx.Observable.from(nonprofits)
.pluck('moneySaved')
.reduce((sum, moneySaved = 0) => sum + moneySaved, 0);
},
(nonprofits = [], totalSavings) => ({ nonprofits, totalSavings })
)
.subscribe(({ nonprofits, totalSavings }) => {
res.render('nonprofits/directory', {
title: 'Nonprofits we help',
nonprofits: nonprofits,
totalSavings: totalSavings.toString().replace(/000$/, ',000')
});
},
next
);
}
function returnIndividualNonprofit(req, res, next) {
var dashedName = req.params.nonprofitName;
var nonprofitName = unDasherize(dashedName);
var query = { where: { name: {
like: nonprofitName,
options: 'i'
} } };
debug('looking for %s', nonprofitName);
debug('query', query);
findOneNonprofit(query).subscribe(
function(nonprofit) {
if (!nonprofit) {
req.flash('errors', {
msg: "404: We couldn't find a nonprofit with that name. " +
'Please double check the name.'
});
return res.redirect('/nonprofits');
}
var dashedNameFull = dasherize(nonprofit.name);
if (dashedNameFull !== dashedName) {
return res.redirect('../nonprofit/' + dashedNameFull);
}
res.render('nonprofits/show', {
dashedName: dashedNameFull,
title: nonprofit.name,
logoUrl: nonprofit.logoUrl,
estimatedHours: nonprofit.estimatedHours,
projectDescription: nonprofit.projectDescription,
approvedOther:
nonprofit.approvedDeliverables.indexOf('other') > -1,
approvedWebsite:
nonprofit.approvedDeliverables.indexOf('website') > -1,
approvedDonor:
nonprofit.approvedDeliverables.indexOf('donor') > -1,
approvedInventory:
nonprofit.approvedDeliverables.indexOf('inventory') > -1,
approvedVolunteer:
nonprofit.approvedDeliverables.indexOf('volunteer') > -1,
approvedForm:
nonprofit.approvedDeliverables.indexOf('form') > -1,
approvedCommunity:
nonprofit.approvedDeliverables.indexOf('community') > -1,
approvedELearning:
nonprofit.approvedDeliverables.indexOf('eLearning') > -1,
websiteLink: nonprofit.websiteLink,
imageUrl: nonprofit.imageUrl,
whatDoesNonprofitDo: nonprofit.whatDoesNonprofitDo,
interestedCampers: nonprofit.interestedCampers,
assignedCampers: nonprofit.assignedCampers,
buttonActive: false,
moneySaved: nonprofit.moneySaved,
currentStatus: nonprofit.currentStatus
});
},
next
);
}
};

View File

@ -1,27 +0,0 @@
extends ../layout
block content
script.
var challengeName = 'Nonprofits View';
.col-xs-12.col-sm-12.col-md-12
.panel.panel-info
.panel-heading.text-center Nonprofits We Help
.panel-body
.col-xs-12.col-sm-12.col-md-10.col-md-offset-1
h1.text-primary.text-center Our campers have saved nonprofits $#{totalSavings}.
.spacer
for nonprofit in nonprofits
.spacer
.row
.col-xs-12.col-sm-3
img.img-responsive.img-center(src=nonprofit.logoUrl)
.col-xs-12.col-sm-9
h2.negative-15= nonprofit.name
h3.negative-15= nonprofit.whatDoesNonprofitDo
if (nonprofit.moneySaved > 0)
h4.negative-15.text-primary Estimated Cost Savings for Nonprofit: $#{nonprofit.moneySaved.toString().replace(/000$/, ',000')}
a.text-center.btn.btn-primary.btn-lg(href='/nonprofits/' + nonprofit.name.toLowerCase().replace(/\s/g, '-')) Read more
.spacer
.col-xs-12.col-sm-8.col-sm-offset-2
if (!user)
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help
.spacer

View File

@ -1,75 +0,0 @@
extends ../layout
block content
script.
var challengeName = 'Nonprofits View';
.row
.col-xs-12.col-sm-10.col-sm-offset-1
.row
.col-xs-12
img.img-center.img-responsive(src=imageUrl)
.spacer
.row
.col-xs-12.col-sm-4
img.img-responsive(src=logoUrl)
.col-xs-12.col-sm-8
.col-xs-12
h4= whatDoesNonprofitDo
h4
a(href=websiteLink)= websiteLink
.spacer
h3 Project Description:
.col-xs-12
h4.negative-15 #{projectDescription} (About #{estimatedHours} hours per camper)
.spacer
h3 This project involves building:
h4.negative-15.col-xs-12
if (approvedWebsite)
.ion-android-globe   Website
if (approvedDonor)
.ion-card   Donor Management System
if (approvedInventory)
.ion-ios-box   Inventory Management System
if (approvedVolunteer)
.ion-android-calendar   Volunteer Management System
if (approvedForm)
.ion-ios-list   Webform
if (approvedCommunity)
.ion-ios-people   Community Management System
if (approvedELearning)
.ion-university   E-learning Platform
if (approvedOther)
.ion-settings   Other tools
h3 Project Status: #{currentStatus}
if (moneySaved > 0)
h3.text-primary Estimated Cost Savings for Nonprofit: $#{moneySaved.toString().replace(/000$/, ',000')}
if (interestedCampers && interestedCampers.length > 0)
h3 Interested campers:
.col-xs-12.text-left
for interestedCamper in interestedCampers
a(href='/' + interestedCamper.username class="interested-camper-image")
img.profile-picture.float-right(src=interestedCamper.picture)
if (assignedCampers && assignedCampers.length > 0)
h3 Assigned campers:
.col-xs-12.text-left
for assignedCamper in assignedCampers
a(href='/' + assignedCamper.username class="interested-camper-image")
img.profile-picture.float-right(src=assignedCamper.picture)
if (!buttonActive)
.col-xs-12.col-sm-8.col-sm-offset-2
.text-center
if !user
a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free)
.button-spacer
else
a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project *
p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this.
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
.spacer
if (buttonActive)
.col-xs-12.col-sm-8.col-sm-offset-2
.text-center
a.btn.btn-primary.btn-big.btn-block(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project
.button-spacer
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
.spacer

View File

@ -71,5 +71,3 @@ block content
.row
.col-xs-12.col-sm-8.col-sm-offset-2
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help
.button-spacer
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/nonprofits/directory") Browse our directory of nonprofits we've helped

View File

@ -37,12 +37,6 @@ urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.com/twitch
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.com/jobs
changefreq weekly
@ -76,10 +70,3 @@ urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
lastmod= now
changefreq weekly
priority= 0.5
each nonprofit in nonprofits
url
loc #{appUrl}/nonprofits/#{nonprofit.replace(/\s/g, '-')}
lastmod= now
changefreq weekly
priority= 0.9