add jobs page

This commit is contained in:
Quincy Larson
2015-05-22 19:30:56 -07:00
parent 2e46777f8e
commit b9adbd5976
11 changed files with 228 additions and 45 deletions

16
app.js
View File

@@ -160,7 +160,9 @@ var trusted = [
'*.ytimg.com',
'*.bitly.com',
'http://cdn.inspectlet.com/',
'http://hn.inspectlet.com/'
'http://hn.inspectlet.com/',
'*.simplyhired.com',
'*.simply-partner.com'
];
app.use(helmet.csp({
@@ -325,10 +327,14 @@ app.get(
nonprofitController.returnIndividualNonprofit
);
app.post(
'/update-progress',
passportConf.isAuthenticated,
userController.updateProgress
app.get(
'/jobs',
resourcesController.jobs
);
app.get(
'/jobs-form',
resourcesController.jobsForm
);
app.get('/privacy', function(req, res) {

View File

@@ -157,6 +157,18 @@ module.exports = {
}
},
jobs: function jobs(req, res) {
res.render('resources/jobs', {
title: 'Job Board for Front End Developer and Full Stack JavaScript Developer Jobs'
});
},
jobsForm: function jobsForm(req, res) {
res.render('resources/jobs-form', {
title: 'Employer Partnership Form for Job Postings, Recruitment and Corporate Sponsorships'
});
},
nonprofits: function nonprofits(req, res) {
res.render('resources/nonprofits', {
title: 'A guide to our Nonprofit Projects'
@@ -165,7 +177,7 @@ module.exports = {
nonprofitsForm: function nonprofitsForm(req, res) {
res.render('resources/nonprofits-form', {
title: 'A guide to our Nonprofit Projects'
title: 'Nonprofit Projects Proposal Form'
});
},
@@ -177,7 +189,7 @@ module.exports = {
agileProjectManagersForm: function agileProjectManagersForm(req, res) {
res.render('resources/pmi-acp-agile-project-managers-form', {
title: 'Get Agile Project Management Experience for the PMI-ACP'
title: 'Agile Project Management Program Application Form'
});
},

View File

@@ -19,9 +19,10 @@ function hotRank(timeValue, rank) {
* Ranking...
* f(ts, 1, rank) = log(10)z + (ts)/45000;
*/
var time48Hours = 172800000;
var hotness;
var z = Math.log(rank) / Math.log(10);
hotness = z + (timeValue / 115200000);
hotness = z + (timeValue / time48Hours);
return hotness;
}

11
public/css/main.css Normal file

File diff suppressed because one or more lines are too long

View File

@@ -10,8 +10,6 @@
],
"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/",
"stakeholderName": "Jonathan Tebeka",
"stakeholderEmail": "jonathan@chasdeikaduri.org",
"name": "Chasdei Kaduri",
"endUser": "Clients, donors, and admin.",
"approvedDeliverables": [
@@ -25,7 +23,9 @@
"logoUrl": "https://trello-attachments.s3.amazonaws.com/54c7e02f2c173c37015b2f36/604x309/00580a0567a4b3afda29d52b09e7e829/rQQ6zwq31Uya8ie9QHC-MlvfXxqftm9UPPe524JUhmwSEaZjQ7oL7U1tVoHLUj-gVUwM-7uzBGFsAXD_A_cx_JyAZP4Td-GMBJ-AebJNRAQP0m0v253eKMkURp63aG4%3Ds0-d-e1-ft.png",
"imageUrl": "http://chasdeikaduri.org/images/523455_516325865106850_1885515210_n.jpg",
"estimatedHours": 200,
"currentStatus": "started"
"interestedCampers": [],
"confirmedCampers": [],
"currentStatus": "completed"
},
{
"id": "bd7158d8c464cbafaeb4bdef",
@@ -34,8 +34,6 @@
],
"whatDoesNonprofitDo": "We connect simple technology with last mile communities to reduce poverty.",
"websiteLink": "http://kopernik.info/",
"stakeholderName": "Amber Gregory",
"stakeholderEmail": "amber.gregory@kopernik.info",
"name": "Kopernik",
"endUser": "Women in rural Indonesia.",
"approvedDeliverables": [
@@ -54,8 +52,6 @@
],
"whatDoesNonprofitDo": "We distribute biodegradable toothbrushes globally to children in need.",
"websiteLink": "http://www.operationbrush.org/",
"stakeholderName": "Dane Jonas",
"stakeholderEmail": "DaneJonas@operationbrush.org",
"name": "Operation Brush",
"endUser": "Donors",
"approvedDeliverables": [
@@ -65,7 +61,9 @@
"logoUrl": "https://trello-attachments.s3.amazonaws.com/54d9810307b159a4d9027aa2/54d981bfe5eb145560fbb769/x/cf7f318bfe4aee631b0d0eeef272225c/logo.png",
"imageUrl": "http://www.operationbrush.org/images/temp/hands1.png",
"estimatedHours": 100,
"currentStatus": "started"
"interestedCampers": [],
"confirmedCampers": [],
"currentStatus": "completed"
},
{
"id": "bd1325d8c464cbafaeb5bdef",
@@ -74,10 +72,8 @@
],
"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/",
"stakeholderName": "Charity Kuahiwinui",
"stakeholderEmail": "insurance@rosecityrollers.com",
"name": "Rose City Rollers",
"endUser": "Administrators, Coaches, and Volunteers",
"endUser": "Roller derby administrators, coaches, and volunteers",
"approvedDeliverables": [
"community"
],
@@ -92,10 +88,8 @@
"requestedDeliverables": [
"website"
],
"whatDoesNonprofitDo": "Save a Child's Heart provides urgently needed pediatric heart surgery and follow-up care for indigent children from developing countries",
"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/",
"stakeholderName": "Shier Ziser",
"stakeholderEmail": "Shier_z@hotmail.com",
"name": "Save a Child's Heart",
"endUser": "Donors",
"approvedDeliverables": [
@@ -112,10 +106,8 @@
"requestedDeliverables": [
"website"
],
"whatDoesNonprofitDo": "Savvy Cyber Kids enables youth to be empowered with technology by providing age appropriate resources and education.",
"whatDoesNonprofitDo": "We empower youth with technology by providing age appropriate resources and education.",
"websiteLink": "http://savvycyberkids.org/",
"stakeholderName": "Ben Halpert",
"stakeholderEmail": "info@savvycyberkids.org ",
"name": "Savvy Cyber Kids",
"endUser": "Donors",
"approvedDeliverables": [
@@ -132,10 +124,8 @@
"requestedDeliverables": [
"other"
],
"whatDoesNonprofitDo": "Transcendent Pathways",
"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/",
"stakeholderName": "Mark Ackerley",
"stakeholderEmail": "mackerley.music@gmail.com",
"name": "Transcendent Pathways",
"endUser": "Medical Facilities, Musicians",
"approvedDeliverables": [
@@ -152,19 +142,82 @@
"requestedDeliverables": [
"other"
],
"whatDoesNonprofitDo": "Timeraiser is a volunteer matching fair, a silent art auction, and a night out on the town. The big Timeraiser twist is rather than bid money on artwork, participants bid volunteer hours. ",
"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/",
"stakeholderName": "Stephanie McAllister",
"stakeholderEmail": "stephanie@timeraiser.ca",
"name": "Timeraiser",
"endUser": "Eventgoers",
"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://www.timeraiser.ca/uploads/5/6/1/4/5614163/1277176.png?480",
"imageUrl": "http://www.timeraiser.ca/uploads/5/6/1/4/5614163/______________4571248_orig.png",
"currentStatus": "started",
"interestedCampers": [],
"confirmedCampers": [],
"estimatedHours": 100,
"currentStatus": "completed"
},
{
"id": "bd1325d8c464cbafaeb7bdef",
"requestedDeliverables": [
"website",
"inventory",
"form"
],
"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": "https://scontent-sjc2-1.xx.fbcdn.net/hphotos-xfa1/v/t1.0-9/59709_501505959886494_1605714757_n.jpg?oh=e12c08c046d824765a02242b7c8c3bb5&oe=560CFA6A",
"imageUrl": "https://scontent-sjc2-1.xx.fbcdn.net/hphotos-xta1/t31.0-8/11270516_844556088914811_757350153964826829_o.jpg",
"estimatedHours": 300,
"currentStatus": "started"
},
{
"id": "bd1325d8c464cbafaeb6bdef",
"requestedDeliverables": [
"inventory",
"form",
"other"
],
"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://www.floridahealth.gov/_new/_files/images/DOH_logo.png",
"imageUrl": "http://www.dep.state.fl.us/central/Home/Watershed/Home.jpg",
"estimatedHours": 200,
"currentStatus": "started"
},
{
"id": "bd1325d8c464cbafaeb6bdef",
"requestedDeliverables": [
"website"
],
"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": "https://columbussongwritersassociation.files.wordpress.com/2014/06/csa-logo.jpeg?w=705&h=435&crop=1",
"imageUrl": "https://columbussongwritersassociation.files.wordpress.com/2015/03/10502364_918551148225410_5082247612691070613_n.jpg?w=705&h=344&crop=1",
"estimatedHours": 100,
"currentStatus": "completed"
}
]

View File

@@ -10,7 +10,7 @@ block content
.spacer
.row
.col-xs-12.col-sm-3
img.img-responsive(src=nonprofit.logoUrl)
img.img-responsive.img-center(src=nonprofit.logoUrl)
.col-xs-12.col-sm-9
h2.negative-15= nonprofit.name
h3.negative-15= nonprofit.whatDoesNonprofitDo

View File

@@ -61,21 +61,14 @@ block content
.text-center
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.
#showAllButton.btn.btn-info.btn-big.btn-block Show all Nonprofit Projects
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
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
#showAllButton.btn.btn-info.btn-big.btn-block Show all Nonprofit Projects
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
.row
.col-xs-12.text-center
if !user
a.btn.btn-cta.signup-btn.btn-primary(href="/login") Start learning to code (it's free)
.spacer
#show-all-dialog.modal(tabindex='-1')
.modal-dialog.animated.fadeInUp.fast-animation
.modal-content
.modal-header.all-list-header Nonprofit Projects
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
.modal-body
include ../partials/nonprofits
.spacer

View File

@@ -15,7 +15,7 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
if user
li
a(href='/challenges') Next Challenge
a(href='/challenges') Learn
li
a(href='/map') Map
if (user && user.sentSlackInvite)
@@ -27,7 +27,9 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
li
a(href='/news') News
li
a(href='/field-guide') Field Guide
a(href='/field-guide') Guide
li.hidden-xs.hidden-sm
a(href='/jobs') Jobs
if !user
li      
li

View File

@@ -0,0 +1,28 @@
html.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<!--Add the title of your typeform below-->
<title>nonprofit-projects</title>
<!--CSS styles that ensure your typeform takes up all the available screen space (DO NOT EDIT!)-->
<style type="text/css">
html{
margin: 0;
height: 100%;
overflow: hidden;
}
iframe{
position: absolute;
left:0;
right:0;
bottom:0;
top:0;
border:0;
}
</style>
</head>
<body>
<iframe id="typeform-full" width="100%" height="100%" frameborder="0" src="https://freecodecamp.typeform.com/to/Wkfsts"></iframe>
<script type="text/javascript" src="https://s3-eu-west-1.amazonaws.com/share.typeform.com/embed.js"></script>
</body>
</html>

16
views/resources/jobs.jade Normal file
View File

@@ -0,0 +1,16 @@
extends ../layout-wide
block content
.row
.col-xs-12.col-sm-8.col-sm-offset-2.text-center
h2 We want all our campers to get awesome software engineer jobs (
a(href='https://www.linkedin.com/groups?viewMembers=&gid=6966827&sik=1432338555021' target='_blank') and many already have
| ).
h3.hidden-xs.hidden-sm This is a small sampling of the 1,000s of junior software engineer jobs. Learn about the &thinsp;
a(href='http://blog.freecodecamp.com/2014/10/the-real-reason-to-learn-mean-stack.html') the job market in aggregate
| .
.spacer
a.btn.btn-primary.btn-big(href='/jobs-form') My organization is hiring software engineers
.spacer
.embed-responsive.embed-responsive-4by3.hidden-xs.hidden-sm
iframe.embed-responsive-item(src="http://freecodecamp.simply-partner.com" scrolling="no")
.spacer

61
views/resources/test.css Normal file
View File

@@ -0,0 +1,61 @@
.themeCustom a.link:link, .themeCustom a.link:visited, .themeCustom a:link, .themeCustom a:visited {
color: #0066cc;
}
.themeCustom .sh_header_search .well {
background: #dedede;
}
.themeCustom .sh_header_search .header_wrapper {
border-bottom-color: #cccccc;
}
.themeCustom .column-left {
background-color: #dedede;
}
.themeCustom .column-left .filters .handle {
background-color: #dedede;
}
.themeCustom .column-left .filters .handle:hover {
background-color: #cccccc;
}
.themeCustom .column-left .recent_searches, .themeCustom .column-left .search_tools, .themeCustom .column-left .search_links, .themeCustom .column-left .sort_jobs {
border-top-color: #dedede;
}
.themeCustom #search_title .text-highlight {
color: #444444;
}
.themeCustom .inline-filters {
background: #dedede;
}
.themeCustom input[type=radio]:checked + label > span, .themeCustom .sort_jobs input[type=radio]:checked + label > span, .themeCustom .social-network-logins input[type=radio]:checked + label > span {
background-color: #444444;
border-color: #444444;
}
.themeCustom .filters .filter ul li a, .themeCustom #c_expired a, .themeCustom .result a, .themeCustom .expand_search a, .themeCustom .simplyhired-intl a, .themeCustom .filters .filter ul li a:visited, .themeCustom #c_expired a:visited, .themeCustom .result a:visited, .themeCustom .expand_search a:visited, .themeCustom .simplyhired-intl a:visited, .themeCustom .job h2 {
color: #0066cc;}
.sh.theme-base .btn-sh2 {
background-color: #999999;
}
.sh.theme-base .sh_header_search .skin-search-promo .btn-large{
background-color: #999999;
background-image: none;
}
.sh .job .new {
background-color: #999999;
background-image: none;
}
.sh .job .partner-exclusive {
background-color: #F15A22;
}