chore(redirects): Migrate redirects and clean up server views

This commit is contained in:
Bouncey
2018-09-06 16:51:34 +01:00
committed by Stuart Taylor
parent eb5dee1cbb
commit 748c1da517
47 changed files with 347 additions and 2118 deletions

View File

@ -3,7 +3,6 @@ import request from 'request';
import { homeLocation } from '../../../config/env';
import constantStrings from '../utils/constantStrings.json';
import testimonials from '../resources/testimonials.json';
const githubClient = process.env.GITHUB_ID;
const githubSecret = process.env.GITHUB_SECRET;
@ -14,8 +13,6 @@ module.exports = function(app) {
const User = app.models.User;
router.get('/api/github', githubCalls);
router.get('/chat', chat);
router.get('/twitch', twitch);
router.get('/u/:email', unsubscribeDepricated);
router.get('/unsubscribe/:email', unsubscribeDepricated);
router.get('/ue/:unsubscribeId', unsubscribeById);
@ -27,72 +24,18 @@ module.exports = function(app) {
router.get('/unsubscribed', unsubscribed);
api.get('/resubscribe/:unsubscribeId', resubscribe);
router.get('/nonprofits', nonprofits);
router.get('/nonprofits-form', nonprofitsForm);
router.get('/pmi-acp-agile-project-managers', agileProjectManagers);
router.get('/pmi-acp-agile-project-managers-form', agileProjectManagersForm);
router.get('/coding-bootcamp-cost-calculator', bootcampCalculator);
router.get('/stories', showTestimonials);
router.get('/all-stories', showAllTestimonials);
router.get('/how-nonprofit-projects-work', howNonprofitProjectsWork);
router.get(
'/software-resources-for-nonprofits',
softwareResourcesForNonprofits
);
router.get('/academic-honesty', academicHonesty);
app.use(router);
app.use('/internal', api);
function chat(req, res) {
res.redirect('https://gitter.im/FreeCodeCamp/FreeCodeCamp');
}
function howNonprofitProjectsWork(req, res) {
res.redirect(
301,
'https://medium.freecodecamp.com/open-source-for-good-1a0ea9f32d5a'
);
}
function softwareResourcesForNonprofits(req, res) {
res.render('resources/software-resources-for-nonprofits', {
title: 'Software Resources for Nonprofits'
});
}
function academicHonesty(req, res) {
res.render('resources/academic-honesty', {
title: 'Academic Honesty policy'
});
}
function theFastestWebPageOnTheInternet(req, res) {
res.render('resources/the-fastest-web-page-on-the-internet', {
title: 'This is the fastest web page on the internet'
});
}
function showTestimonials(req, res) {
res.render('resources/stories', {
title:
'Testimonials from Happy freeCodeCamp Students ' +
'who got Software Engineer Jobs',
stories: testimonials.slice(0, 72),
moreStories: true
});
}
function showAllTestimonials(req, res) {
res.render('resources/stories', {
title:
'Testimonials from Happy freeCodeCamp Students ' +
'who got Software Engineer Jobs',
stories: testimonials,
moreStories: false
});
}
function bootcampCalculator(req, res) {
res.render('resources/calculator', {
title: 'Coding Bootcamp Cost Calculator'
@ -105,28 +48,6 @@ module.exports = function(app) {
});
}
function nonprofitsForm(req, res) {
res.render('resources/nonprofits-form', {
title: 'Nonprofit Projects Proposal Form'
});
}
function agileProjectManagers(req, res) {
res.render('resources/pmi-acp-agile-project-managers', {
title: 'Get Agile Project Management Experience for the PMI-ACP'
});
}
function agileProjectManagersForm(req, res) {
res.render('resources/pmi-acp-agile-project-managers-form', {
title: 'Agile Project Management Program Application Form'
});
}
function twitch(req, res) {
res.redirect('https://twitch.tv/freecodecamp');
}
function unsubscribeDepricated(req, res) {
req.flash(
'info',

View File

@ -1,32 +0,0 @@
module.exports = function(app) {
var router = app.loopback.Router();
router.get('/nonprofit-project-instructions', function(req, res) {
res.redirect(
301,
'http://forum.freecodecamp.org/t/'
+ 'how-free-code-camps-nonprofits-projects-work/19547'
);
});
router.get('/agile', function(req, res) {
res.redirect(301, '/pmi-acp-agile-project-managers');
});
router.get('/privacy', function(req, res) {
res.redirect(
301,
'http://forum.freecodecamp.org/t/free-code-camp-privacy-policy/19545'
);
});
router.get('/learn-to-code', function(req, res) {
res.redirect(301, '/map');
});
router.get('/field-guide/*', function(req, res) {
res.redirect(302, 'http://forum.freecodecamp.org');
});
app.use(router);
};

View File

@ -0,0 +1 @@
# this file is here to add an empty dir to git

View File

@ -1,569 +0,0 @@
[
{
"camper": "Meta Hirschl",
"quote": "By building a robust and highly functional web app I was able to not only increase my confidence but was able to show potential employers what I was able to create. Both were huge for me and led me to getting a fantastic job.",
"github": "MetaCoderHirschl",
"linkedin": "https://www.linkedin.com/profile/view?id=ADEAAAKX2fEBfeZ1GVdOh-c0zzkYZKw38o8qzow",
"image": "https://i.imgur.com/nsvNixW.jpg"
},
{
"camper": "Branden Byers",
"quote": "My goal was to become employed by the end of 2015. Instead, I ended up with a job at the beginning of 2015. This was directly related to my work at freeCodeCamp.",
"github": "brandenbyers",
"linkedin": "https://www.linkedin.com/in/brandenbyers",
"image": "https://i.imgur.com/NbzknHq.jpg"
},
{
"camper": "Bruna Torman Reseres Franasa",
"quote": "Im now receiving offers for internships. I have no experience in IT, but now good things are happening!",
"github": "brunatrf",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABVPh9IB730qyshrsqO1hDNNRUL-X_4i8n0",
"image": "https://i.imgur.com/TqxHSNY.jpg"
},
{
"camper": "Maxim Orlov",
"quote": "I started freeCodeCamp with zero knowledge of web development. 6 months later, I landed my first job as a back end engineer.",
"github": "Maximization",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAo83nwBF57LpD9mZlm5dH6OcovOpYKPs3k",
"image": "https://i.imgur.com/wjlDigg.jpg"
},
{
"camper": "Alexander Black, Jr.",
"quote": "My work on a nonprofit project gave me the opportunity to learn how to build Chrome extensions and showcase my skills as a full-stack developer.",
"github": "alexblackjr",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA553L4BgfgBR-M9RQc7x5matd6FUx3a6-I",
"image": "https://i.imgur.com/iHC6ZI4.jpg"
},
{
"camper": "Cristiane Henriques",
"quote": "I am getting more work contacts after including freeCodeCamp on my CV and my LinkedIn.",
"github": "CrisHenriques",
"linkedin": "https://www.linkedin.com/in/crishenriques",
"image": "https://i.imgur.com/T6iTQHs.jpg"
},
{
"camper": "Viktor Bakurin",
"quote": "During my work on freeCodeCamp's nonprofit projects, I found a MEAN stack position outside of my home country. Now I work in Budapest.",
"github": "letalumil",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAq6G3QBA1DIwFZGrS4DGqDzBDTzFjrbNQo",
"image": "https://i.imgur.com/fvUAWlx.jpg"
},
{
"camper": "Ashley Drake",
"quote": "freeCodeCamp helped me get my first engineering job. This amazing community made my career switch a lot easier and more fun.",
"github": "aldraco",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABcdBycB1iVHvcW7N3yVK-18ES7Nrxx2jbE",
"image": "https://i.imgur.com/xzDoJef.jpg"
},
{
"camper": "Brian Grant",
"quote": "freeCodeCamp's a great way for disabled veterans like me to retrain. I'm receiving engineering job offers, and I haven't even finished yet.",
"github": "codeseekingman",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAEUqXoBFOq1SWQrBsTMHG4ij9Ss4Qqnrtg",
"image": "https://i.imgur.com/QPpjPac.jpg"
},
{
"camper": "Thomas Joseph Izen",
"quote": "After spending lots of time trying different sites that aim to teach people how to code, freeCodeCamp has been different from the beginning. They provide the best and most organized track for anyone at any level to learn how to code and build an amazing, marketable portfolio.",
"github": "TommyIzen",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA79qIYB_RHmvOP59S6VPK3Lm06oG8fM6dw",
"image": "https://i.imgur.com/RkO2ISf.jpg"
},
{
"camper": "Lori Becker",
"quote": "After graduating with a Masters degree in computer science, I could not share any of my code with employers (university policy: fear of aiding cheating). With freeCodeCamp, I was able to develop a small portfolio.",
"github": "LCBecker",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAADrtuwBOA_0ihkKIbUFXoXskXikQT9uVeo",
"image": "https://i.imgur.com/J1cbqDQ.jpg"
},
{
"camper": "Robert Trammel",
"quote": "I'm working a job integrating JavaScript into FileMaker and doing some custom web publishing for a school district. I've also have job offers from Apple and a few technology firms around the country. If it wasn't for freeCodeCamp, I'd still be in the dark with some really awesome but irrelevant skills.",
"github": "comajama",
"linkedin": "https://www.linkedin.com/profile/view?id=AAIAABQsM30BEAI6xyAhk-OqbBNUJL0WD2uA3GE",
"image": "https://i.imgur.com/E9YdQIn.jpg"
},
{
"camper": "Brian Atkins",
"quote": "I'm spending less time then I used to on freeCodeCamp, because people have begun to hire me to work on their projects. freeCodeCamp has provided me the foundation I have needed to get these jobs.",
"github": "BrianAtk",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAABtTx0BmDzmB7eDGOkAJbRw8RZdvysreso",
"image": "https://i.imgur.com/veN77Iw.jpg"
},
{
"camper": "Andrea Goulet",
"quote": "Before enrolling in freeCodeCamp, I was nervous when people asked me, \"Do you code?\", Now, I answer with a confident \"YES!\"",
"github": "andreagoulet",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAA4KWYB-mCMwEU3LvDHXt6H0rVHbBvszq0",
"image": "https://i.imgur.com/XWt7fXk.jpg"
},
{
"camper": "David McGill",
"quote": "Even if you have a CS degree like I do, you still need projects to prove to employers that you care about coding. freeCodeCamp provided me with a platform for doing this. It's all laid out for you - you just have step up and step into the map!",
"github": "dmcgill50",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAEBy74BHsJCpgrbohr2dJxbdXuvMuJDx6k",
"image": "https://i.imgur.com/ZVNPIYU.jpg"
},
{
"camper": "Adam Recvlohe",
"quote": "I had no previous development experience and I was working a full-time as an Instructional Designer. freeCodeCamp helped me get hired as a JavaScript developer.",
"github": "arecvlohe",
"linkedin": "https://www.linkedin.com/in/adamrecvlohe",
"image": "https://i.imgur.com/oFxOlRG.jpg"
},
{
"camper": "John Ellis",
"quote": "freeCodeCamp has been one of the major contributors to my career in software development. I started as an apps analyst, spent 3 months going through the coursework in my off time and weekends, and just landed a job as a business systems developer.",
"github": "johnmellis",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAbrISEBqAVYOBfhni9mB3YoFFzzrAbYvvo",
"image": "https://i.imgur.com/qLfaM9Y.jpg"
},
{
"camper": "Rachel Krantz",
"quote": "freeCodeCamp gave me confidence that I could apply to software engineering jobs, because I knew I was capable of learning. That confidence convinced the hiring manager to hire me.",
"github": "krantzinator",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAOdv-oBnOGtQCoGooUB0xGJ4TWoAgV_z_E",
"image": "https://i.imgur.com/dqHrkkC.jpg"
},
{
"camper": "Alex Dixon",
"quote": "I was hired by the owner of the company, a programmer with 25 years of experience in web development. I graduated from university with a degree in English and had no programming experience prior to attending freeCodeCamp.",
"github": "alex-dixon",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABhCmLMBLAR1AXskaJXDMT-uLPZ8M7TynPQ",
"image": "https://i.imgur.com/poiaanK.jpg"
},
{
"camper": "Ryan Lindeman",
"quote": "freeCodeCamp has been great in giving me a direct path to the full stack development skills I wanted to become more involved in projects at work.",
"github": "fai1whale",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAkMT1EBFCY849rMWYSDIEj6kosBJSH9n2s",
"image": "https://i.imgur.com/jHOjcyN.jpg"
},
{
"camper": "Stephanie Brown",
"quote": "freeCodeCamp has given me structure and a direction while learning to code.",
"github": "strawmitch",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAARqP5cBDDdBxPUzluctvjUhOP3UsiowRtM",
"image": "https://i.imgur.com/k5EEyNf.jpg"
},
{
"camper": "Jimson Sulit",
"quote": "Aside from the fact that Im learning full stack web development, freeCodeCamp has also given me the opportunity to lead local community projects.",
"github": "webdevjedi25",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAWqUccBopX2Wo_P1gYgy0iIEqChwXPTh2k",
"image": "https://i.imgur.com/DzMDPS5.jpg"
},
{
"camper": "Brian Emory",
"quote": "I like to learn by doing but with the books, while very informative, there was more reading than doing. I came across freeCodeCamp which has allowed me to learn by doing. Whereas before I was struggling to learn, I am now not only learning but learning while building cool projects.",
"github": "thebrianemory",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABc3jXwB-iZdZKZIVAvL93RHGB7_J9gDbVA",
"image": "https://i.imgur.com/JcdSD9H.jpg"
},
{
"camper": "Ralph Cachero",
"quote": "I am a software QA engineer. freeCodeCamp has helped me understand what the developers go through.",
"github": "rcachero",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAJEF88BiUtMoxS3Ww7ooI9QmTZdrgP272Q",
"image": "https://i.imgur.com/5umfPRq.jpg"
},
{
"camper": "Ina Tsetsova",
"quote": "Bonfires really make me think and combine programming concepts creatively.",
"github": "Tsetsova",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAjPoIcBJsAF91dqwgxFQ4qct88yFcljXNU",
"image": "https://i.imgur.com/9Ta15Ow.jpg"
},
{
"camper": "Ryan Jones",
"quote": "Learning to code with freeCodeCamp has given me a leg up in my career. It has helped to train my brain to think with the logic that computers use. This is a tremendous aid in the field of digital forensics.",
"github": "ryanmjones",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABPJt1MBxC4Yero3PJPhF9rrr_Y7WfOGcCU",
"image": "https://i.imgur.com/8cRU20S.jpg"
},
{
"camper": "Sara Powell",
"quote": "Ive progressed from not coding very much at all, to coding well enough to land job interviews for front end development positions.",
"github": "newtcobell",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAy1jmQBRjoGSUWd6Zib7FtekpSMBVHr7Vw",
"image": "https://i.imgur.com/4l4OBbR.jpg"
},
{
"camper": "Rhonadale Florentino",
"quote": "I can now confidently tell clients that I can design their website.",
"github": "None Given",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAI53oUBmy6MPKp1UeHxBy3_y0cyTS4bWow",
"image": "https://i.imgur.com/soEDnv6.jpg"
},
{
"camper": "Justin Clay Lane",
"quote": "freeCodeCamp provided a structured learning experience more akin to an actual class, compared to other free learning sites. I was recently hired to update and maintain the website for a local doctors office. The extra money and experience from that is wonderful.",
"github": "jclane",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAYZYQ4BBY337OqRUhMnZqDJNX1wNXjT7Bk",
"image": "https://i.imgur.com/COEPda5.jpg"
},
{
"camper": "Angshuman Gupta",
"quote": "Im a co-founder of a startup. We had been coding with PHP, but always wanted to shift to meteor.js. freeCodeCamp gave me a structured JavaScript guide.",
"github": "codingang",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAhIipMB6vAXaratEs0MtUd3GgyYm70cvbE",
"image": "https://i.imgur.com/7pwkFQ5.jpg"
},
{
"camper": "Genavieve Clausen",
"quote": "freeCodeCamp has benefitted me in numerous ways, including the opportunity to learn in a self-paced, supportive environment. I am excited to be a part of a growing community making lasting connections for the career and lifestyle I am pursuing.",
"github": "GenavieveMarie",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAOISlMBAi43m1SG-xM_S2B8Vy05yiQz5rE",
"image": "https://i.imgur.com/vr7lTkx.jpg"
},
{
"camper": "Tim Stauffer",
"quote": "I found freeCodeCamp more helpful than my MS degree, so I quit college. Learning so much. Also saving $50,000.",
"github": "timstauffer",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAADVcVIBz8UCNjQKl2GUy9ka8UGnQXAXAYw",
"image": "https://i.imgur.com/b8YCzf1.jpg"
},
{
"camper": "Marquina M Iliev-Piselli",
"quote": "Im re-designing a site for my full-time job.",
"github": "Marquina",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAACYvVUBTuu8dNRHthN1TFiyk137PLDqnv4",
"image": "https://i.imgur.com/6Ep9hfs.jpg"
},
{
"camper": "Pete Considine",
"quote": "The guided and structured lessons have been really helpful, as has the relatively slow pace that new concepts are introduced. I had been taking a Udemy course and it really seemed to be skimming the surface of JavaScript in the interest of \"getting to everything.\"",
"github": "Pjconsidine",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAAi8-8BxUVpoi_VuJQmeGWN5zhMBgbvPbs",
"image": "https://i.imgur.com/SkYRcDW.jpg"
},
{
"camper": "Khatra Ahmed",
"quote": "I can learn to code with support by my side. Everyone is so helpful and it makes learning to code less of a struggle.",
"github": "Mystfreak",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAbdUsIBApacWEmL7CIxe2q7aevMn7aQvmQ",
"image": "https://i.imgur.com/XguPEF7.jpg"
},
{
"camper": "Marcus Lyons",
"quote": "freeCodeCamp has helped me gain the confidence to automate part of my work responsibilities. I was able to use skills I learned from freeCodeCamp to help with writing a bash script to search through mobile app database log files to find errors.",
"github": "auron1223",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA_1aLABo1pVJH9ijSqz8PvLgpzVYkIsjVc",
"image": "https://i.imgur.com/X5c77Ov.jpg"
},
{
"camper": "Reynald Emmanuel Endaya",
"quote": "There is an active community (even in Manila) and its interactive, unlike all the MOOCs I tried before where I had to listen to somebody speak for a long time. I am learning a lot here and I have not yet lost my momentum.",
"github": "None Given",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAUlm8oBQuXm_Y89_LDC9mb2vOjjQH_pZDo",
"image": "https://i.imgur.com/oA5CtWF.jpg"
},
{
"camper": "Victoria Kariolic",
"quote": "I discovered a coding partner through the freeCodeCamp groups who has been able to cover gaps for my client work.",
"github": "Niaskywalk",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAEFmXMBlTFIR2j1G-vJhAMsUOPONILGrLM",
"image": "https://i.imgur.com/TiqbM1f.jpg"
},
{
"camper": "Cameron Eshgh",
"quote": "freeCodeCamp enables me as a digital marketer to dive right into whatever asset or content and fix things that havent been working, as well as roll up my sleeves when our web developers are not available.",
"github": "eshghitude",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAVdU1MBFFiei4ZYNImnVDcR3H_EiuS6qLY",
"image": "https://i.imgur.com/PEzJLCp.jpg"
},
{
"camper": "Devarsh Ruparelia",
"quote": "Even though I am still just a high school student. The startup I intern for said that if I finish the full track of freeCodeCamp, they will strongly consider me for their programming jobs. Thanks freeCodeCamp!",
"github": "devarsh1997",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAApxpP8BZBcHQzr6Ci3xmkkZX-OSH_oLuJs",
"image": "https://i.imgur.com/ouv1qUd.jpg"
},
{
"camper": "Miranda Bashore",
"quote": "I want to be able to freelance and create dynamic websites. freeCodeCamp makes that more of a reality for me, as I cannot afford an expensive bootcamp while getting my Masters degree.",
"github": "DutchBay",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA8KmJMBTtvvgJzjeAUo_YOssh2yLZZlvlk",
"image": "https://i.imgur.com/mJlUzOq.jpg"
},
{
"camper": "Christian Morera",
"quote": "freeCodeCamp has been a great experience. Ive learned so many things. I am in the process of transitioning from content developer to full stack developer.",
"github": "chrmorfeus",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAMc-tYBtYri0H1KHz1WNQjWxZ23jg0tMNU",
"image": "https://i.imgur.com/sfhBDHw.jpg"
},
{
"camper": "Jason Arnold",
"quote": "I like self-paced learning, so freeCodeCamp has been great. The challenges are difficult enough to push boundaries but not so tough to scare people off.",
"github": "thejasonfile",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAABlImsBwAEZ3u3A5NIlCegho8WZ2j4h0w0",
"image": "https://i.imgur.com/hqQ3nPA.jpg"
},
{
"camper": "Kaveet Laxmidas",
"quote": "freeCodeCamp is inspiring me to overhaul some of my old open source projects using more modern approaches and technologies.",
"github": "kaveet",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABZooOgBZJg_0MAJ09pd5vROk83oBFA1cEE",
"image": "https://i.imgur.com/1PadpKm.jpg"
},
{
"camper": "Brett Guillory",
"quote": "freeCodeCamp has given me a great, goal oriented curriculum to learn exactly what I was looking for. And best of all its 100% free!",
"github": "Kurzninja",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAUMPqMBa6GwMTkA_oHUeqnZzyD95FisjwM",
"image": "https://i.imgur.com/WjHNwIu.jpg"
},
{
"camper": "Kory J. Campbell",
"quote": "I just graduated university, so my financial status is pretty meager, however this camp has definitely helped me improve my skills.",
"github": "@koryjcampbell [sic]",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAtxvTgB0N_uJhW-87Dew4wHyeqLUP-XyZk",
"image": "https://i.imgur.com/buAYlTA.jpg"
},
{
"camper": "Bryon Christopher Miller",
"quote": "freeCodeCamp has given me a free, online opportunity to study full stack JavaScript in a structured, community-based format. I am very grateful for this opportunity.",
"github": "bryonmiller",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABEXhHoBxj3Uiq7I0a5v1pVkeJ1gWycbm90",
"image": "https://i.imgur.com/ssKAX9d.jpg"
},
{
"camper": "Darren Joy",
"quote": "Great learning opportunity. Good coding challenges and Im meeting some very motivated people.",
"github": "Darrenfj",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAARv6UIBWeXw4ZfCJ70kBKgnhcv8XgnVsa8",
"image": "https://i.imgur.com/sCkeJ0z.jpg"
},
{
"camper": "Stephen Mayeux",
"quote": "freeCodeCamp is helpful because its not 100% hand-holding, and it pushes me out of my comfort zone.",
"github": "stephenmayeux",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAjTe7cBhjovoz6zTE_M6MwZ_rr3szhiSOM",
"image": "https://i.imgur.com/TbuwAJ3.jpg"
},
{
"camper": "John Hillegass",
"quote": "freeCodeCamp has given me the confidence that I need when heading into high level client meetings and developer scrum sessions.",
"github": "Ohillio",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAWEO3AB51y8eR2tYF8nydQb8kANkdPwR5U",
"image": "https://i.imgur.com/P61e3dt.jpg"
},
{
"camper": "Eric Hartline",
"quote": "The community is very helpful, and I have already accomplished so much more than what I did with other self-guided courses.",
"github": "wildlifehexagon",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAFitUwByB_tgxdExntMnakgQnTK1H3eEd8",
"image": "https://i.imgur.com/PgvxbY2.jpg"
},
{
"camper": "Danielle J Moss",
"quote": "Aside from learning to code in a fun way, I also know Im not alone and have somewhere to go when I do get stuck and need help.",
"github": "psykobilliethekid",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAV4ccABlbMXZ5VfzvlYentPOIKzFbjgbZM",
"image": "https://i.imgur.com/AhaRZ3I.jpg"
},
{
"camper": "Orcun Tonyali",
"quote": "The thorough curriculum helped a lot in managing my companys website.",
"github": "orcuntonyali",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAVwBQIBvE3-M8pDWxzep9umHDnV6JjKmTU",
"image": "https://i.imgur.com/54O0p69.jpg"
},
{
"camper": "Brendan Murphy",
"quote": "I like that it isnt just a 9 week course. The chat room and partner coding were also very helpful.",
"github": "dendari",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAA06V8BqPNnPod-FGRuvifILht-QwZX3YY",
"image": "https://i.imgur.com/36Ba4HU.jpg"
},
{
"camper": "Michael Berry",
"quote": "freeCodeCamp has helped me learn JavaScript, jQuery, and Bootstrap as well as helped me brush up on my HTML and CSS skills. I was laid off from Boeing in April. Im hoping to land a job as a JavaScript developer as I get closer to finishing the curriculum. I wish I had known about freeCodeCamp sooner.",
"github": "Karnblack ",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAGRqf4BwCI3cdJw9wAPc6NlReG3fzOIQq0",
"image": "https://i.imgur.com/rIhq3gl.jpg"
},
{
"camper": "Angie Canon",
"quote": "freeCodeCamp is helping my career. I work with developers and Im beginning to understand their world better. I can phrase questions more clearly, and begin to guess what an issue might be related to.",
"github": "angiecan",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAACfWbABAMsll9ovljvvsLpH317o47hNHX0",
"image": "https://i.imgur.com/v258ssn.jpg"
},
{
"camper": "Irfan Kucuk",
"quote": "Ive long been looking for a place that could keep me interested in learning how to code. Ive tried several Codecademy and comparable places, but none have proven as engaging as freeCodeCamp.",
"github": "Ikucuk",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA5ripkBiFAjXkB3ndO6sKiiq6gD21mk6bw",
"image": "https://i.imgur.com/Ox8ycSi.jpg"
},
{
"camper": "Jonathan Kvicky",
"quote": "freeCodeCamp has given me a strong foundational advantage into pursuing a career in software/web development, and has also served as a great platform for connecting with others who share the same passion for software engineering.",
"github": "jonkvix",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABk3i9YB_hcw1AyVg2QHaf8KMQ8ADQ_R_vg",
"image": "https://i.imgur.com/CZsAqDK.jpg"
},
{
"camper": "Susannah Skyer Gupta",
"quote": "As a jack-of-all-trades at a small educational software company, Im already putting my coding skills to work, beginning to submit my own pull requests for bug fixes instead of just opening a problem ticket and waiting for someone else to fix it.",
"github": "SuzGupta",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAFIosEBLewkmbuudMwAqiTM5YE3wHvcE4A",
"image": "https://i.imgur.com/sazGykY.jpg"
},
{
"camper": "Puneet Shivanand",
"quote": "freeCodeCamp has helped me create and maintain a website for a local bioinformatics conference.",
"github": "puneet-shivanand",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAArBgXABw4qoSJQoGjqrvU6_vBX1gUmcwGg",
"image": "https://i.imgur.com/5BJDA16.jpg"
},
{
"camper": "Ian Seabrook",
"quote": "Ive made connections with people I never would have approached before freeCodeCamp.",
"github": "ianseabrook",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAuVUi4BSJ3K6fcyTa2fnZr_9Oosb3nKM34",
"image": "https://i.imgur.com/z17zai3.jpg"
},
{
"camper": "Oleh Kuchuk",
"quote": "The coding exercises helped me to prepare for my first job interview.",
"github": "drkraken",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABgy6MwBva2OKpsffAU-OBBeTC7qahTYpGw",
"image": "https://i.imgur.com/4KHGgjR.jpg"
},
{
"camper": "Larisa Bekerman",
"quote": "freeCodeCamp has made me more comfortable with certain aspects of code and helped me review and understand concepts in a more hands-on style. Some people learn by reading theory, I dont understand things until Ive made them work myself!",
"github": "xaosqueen",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAB-SHUBga96BB-iaHe7QFI-S2dFmeUQaq0",
"image": "https://i.imgur.com/EptT3Yl.jpg"
},
{
"camper": "Jesse Mull",
"quote": "I learned more using freeCodeCamp in three months than I ever could have at a traditional university.",
"github": "jessemull",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAr2HfcBswHtmQeLM1rxDEg7GdCuxvNin5s",
"image": "https://i.imgur.com/853QDiC.jpg"
},
{
"camper": "Mihai Popescu",
"quote": "The exercises helped me hone my skills and get an internship at a tech startup. My projects were a great talking point in the interview, showing them what I did and how I approached the problems.",
"github": "Mihaisavezi",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAApQxGQBYz-WAQu_0zXPTkW-R7QbdaXEZeA",
"image": "https://i.imgur.com/FfrhMjg.jpg"
},
{
"camper": "Normandy Real",
"quote": "I'm doing freeCodeCamp to transition from mainframe programming to front end development.",
"github": "mandyreal",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAdebIIBHfcSRnxGI-j6g5y6crfOXSg55Dc",
"image": "https://i.imgur.com/U5jVHGk.jpg"
},
{
"camper": "Kristin Anthony",
"quote": "The layout, pacing, and resources of freeCodeCamp have given me focus and shown me a path to mastery. Just being able to tell people in my field that Im learning full stack JavaScript and having projects to show for it has been immensely helpful.",
"github": "anthkris",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAZRM5MBACvQe36s4cvpe5ZHWEfgxprDUFg",
"image": "https://i.imgur.com/LAE3xBr.jpg"
},
{
"camper": "Zlatko Cabric",
"quote": "I am still in school, pursuing an AS in web development. The JavaScript course in college was a breeze thanks to freeCodeCamp.",
"github": "zlajac ",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAsCCFMBUlE24Ie41G_YS3XhdtQMDl5vCZA",
"image": "https://i.imgur.com/X2ozvfP.jpg"
},
{
"camper": "Geoff Storbeck",
"quote": "I've been able to build tools that has helped moved my current career further and has opened up many more doors in the field.",
"github": "storbeck",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAdVQZYBHPYLt5efKwqZmiDM5SqIdH0_AR4",
"image": "https://i.imgur.com/DULhJ8z.jpg"
},
{
"camper": "Jason Rueckert",
"quote": "freeCodeCamp helped me get to the point as a programmer that I felt confident enough to apply for tech jobs. I got the third one I interviewed for.",
"github": "jsonify",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAF-rVIBwdzAFzGkWCaIw81O_jajBs-zKZU",
"image": "https://i.imgur.com/vSkODHr.jpg"
},
{
"camper": "Anthony DePaolo",
"quote": "I can learn web development at my own pace, which is great with my crazy lifes schedule. It also doesnt cost $10k-$17k, which I just cant fork over right now.",
"github": "adepaolo",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAOCUkABzCvw3p1mBiPbbFWq91BEFXGXKxA",
"image": "https://i.imgur.com/Dm02s0W.jpg"
},
{
"camper": "Jimmy Epperson",
"quote": "I learned to build websites, which is now a new service I offer to local businesses.",
"github": "jimmyepp",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAADg3N8BTBm_D58gu8Tgq6UPa3OQ_19CrSE",
"image": "https://media.licdn.com/mpr/mpr/shrinknp_400_400/AAEAAQAAAAAAAALWAAAAJDUwZDc5YzYwLTc2MjYtNDIzYy1iYzAyLWNlNzZmMTNjM2M1NA.jpg"
},
{
"camper": "Jonathan Lucas",
"quote": "freeCodeCamp has been nothing but supportive and helpful, taking me from a rather basic knowledge of front end technologies to a better, more complete understanding from a full stack perspective.",
"github": "jonslucas",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAATn9H4BI7BP7MBpZ0NR1EvldkWTvAdGy2w",
"image": "https://i.imgur.com/Fn91jpJ.jpg"
},
{
"camper": "Brian Barrow",
"quote": "freeCodeCamp has given me confidence that I can become a web developer.",
"github": "briancbarrow",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAVH-osBCI8WZTtv3Om5WjeD2rYnjQ6z7zA",
"image": "https://i.imgur.com/VfdBd5Z.jpg"
},
{
"camper": "Josh Cronkhite",
"quote": "My resume has been bolstered by adding a completely new stack, providing value to my clients and opening up the pool of potential clients that I would have otherwise referred to peers.",
"github": "joshcronkhite",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAGTPvoBg__9rivrYrYgo8sDJ561JpAfhHk",
"image": "https://i.imgur.com/DjAIqps.jpg"
},
{
"camper": "Adam Goswick",
"quote": "freeCodeCamp is helping me learn web development when I cant afford to go back to school.",
"github": "thegoz85",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAObbhkBzeCKrzuEB0ssE_iGrBX0Xnu9URc",
"image": "https://i.imgur.com/XYdoDCQ.jpg"
},
{
"camper": "Travis Wouters",
"quote": "freeCodeCamp helped me add skillsets to my resume that show experience instead of knowledge without practical application.",
"github": "",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAABHP0YBddxsmaf2OghV2jAy17RVMhig4RM",
"image": "https://i.imgur.com/fyRsiOs.jpg"
},
{
"camper": "Nicholas Slaven",
"quote": "freeCodeCamp has given me the courage to open the door to the idea of programming for a career.",
"github": "nslaven22",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA5HGyIBmpNcXY_tfHBkWxXI6OtwsFAeHRQ",
"image": "https://i.imgur.com/9ZYscsm.jpg"
},
{
"camper": "John Bull",
"quote": "I am now able to add customized branding and layouts to web applications that fellow employees and customers use everyday. Im now looking to move away from desktop support and into development roles.",
"github": "Jbull328",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAABAyfz8BsjE-oGv1k3URGzhRyeupnTGuK3I",
"image": "https://i.imgur.com/U2kJtoX.jpg"
},
{
"camper": "Nick Galluzzo",
"quote": "I currently work in a support role for a tech startup. The more I learn about JavaScript, the more Im able to contribute to a product I really believe in!",
"github": "ngalluzzo",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAAjQl1EBZPrbUQ6zGPXmKIuNzpCyqqsnox4",
"image": "https://i.imgur.com/edJP2Qt.jpg"
},
{
"camper": "James Allen",
"quote": "I finally feel like I can learn to code in my own time and progress to the point of employability.",
"github": "None Given",
"linkedin": "https://www.linkedin.com/profile/view?id=AAkAAA4OrsIB5WyfuqeECSQO7HYisImVMDiFBl0",
"image": "https://i.imgur.com/quRxESK.jpg"
}
]

View File

@ -1,20 +0,0 @@
extends ./layout
block content
.spacer
.row
.col-sm-6.col-sm-offset-3
hr
.text-center
h1 404
.row
.col-sm-6.col-sm-offset-3
.text-center
h2 Ooops, we couldn't find that page.
.spacer
.row
.col-sm-6.col-sm-offset-3
.text-center
a.btn.signup-btn.btn-block(href='/map') Head to the Map
hr
.spacer

View File

@ -1,121 +0,0 @@
extends ../layout
block content
.row.flashMessage.negative-30
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
#flash-board.alert.fade.in(style='display: none;')
button.close(type='button', data-dismiss='alert')
i.fas.fa-times-circle#flash-close
#flash-content
.row
.col-xs-12
#accept-privacy-terms
.row
.text-center
br
br
h3 Please review our updated privacy policy and the terms of service.
br
.row
.col-sm-6.col-sm-offset-3
form(method='POST', action='/update-privacy-terms')
input(type='hidden', name='_csrf', value=_csrf)
.checkbox
label
input(id='terms', name='privacy', type='checkbox')
span.cr
i.cr-icon.fa.fa-check
| I accept the  
a(href='https://www.freecodecamp.org/terms' target='_blank') terms of service
| (required).
.checkbox
label
input(id='privacy', name='privacy', type='checkbox')
span.cr
i.cr-icon.fa.fa-check
| I accept the  
a(href='https://www.freecodecamp.org/privacy' target='_blank') privacy policy
| (required).
.checkbox
label
input(id='quincyemails', name='quincyemails', type='checkbox')
span.cr
i.cr-icon.fa.fa-check
| I want weekly emails from Quincy (freeCodeCamp.org's founder).
.button-spacer
button.btn.btn-primary.btn-lg.btn-block(id='submit-button', type='submit')
.row
.col-sm-6.col-sm-offset-3
a.btn.btn-primary.btn-lg.btn-block(id='continue-button', href='/', style='display: none;')
| Continue to freeCodeCamp
include ../homePartials/scripts
script.
$(document).ready(function() {
var checkedBoxCount = 0;
function disableContinueButtonForAgreement(isLaunched) {
if (isLaunched) {
$('#submit-button').prop('disabled', true).html(
'<span style="color:#E0E0E0;">Submit<\/span>');
return;
}
if (!isLaunched && checkedBoxCount === 2){
$('#submit-button').prop('disabled', false).html(
'<span>Submit<\/span>');
}
}
disableContinueButtonForAgreement(true);
$('#terms').click(function() {
if (this.checked) {
checkedBoxCount++;
disableContinueButtonForAgreement(false);
} else {
checkedBoxCount--;
disableContinueButtonForAgreement(true);
}
});
$('#privacy').click(function() {
if (this.checked) {
checkedBoxCount++;
disableContinueButtonForAgreement(false);
} else {
checkedBoxCount--;
disableContinueButtonForAgreement(true);
}
});
$('form').submit(function(event){
event.preventDefault();
$('#flash-board').hide();
var $form = $(event.target);
$.ajax({
type : 'POST',
url : $form.attr('action'),
data : $form.serialize(),
dataType : 'json',
encode : true,
xhrFields : { withCredentials: true }
})
.fail(error => {
if (error.responseText){
var data = JSON.parse(error.responseText);
if(data.message)
$('#flash-content').html(data.message);
$('#flash-board')
.removeClass('alert-success')
.addClass('alert-info')
.fadeIn();
}
})
.done(data =>{
if(data && data.message){
$('#flash-content').html(data.message);
$('#flash-board')
.removeClass('alert-info')
.addClass('alert-success')
.fadeIn();
$('#accept-privacy-terms').hide();
$('#continue-button').show();
}
});
});
});

View File

@ -1,17 +0,0 @@
extends ../layout
block content
.text-center
h2 Welcome to the freeCodeCamp beta.
h3 We have disabled new sign ups on beta.
.text-left.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
p You can try our new beta challenges, but your progress <bold>will not</bold> be saved.&thinsp;
a(href='/map') Click here to go to the beta challenges
| .
p Or you can return to our stable challenges, where your progress <bold>will</bold> be saved.&thinsp;
a(href='https://www.freecodecamp.org') Click here to go to the stable challenges
| .
p If you want to learn more about this beta, read our&thinsp;
a(href='https://forum.freecodecamp.org/t/frequently-asked-questions-about-the-freecodecamp-beta/134331') Frequently Asked Questions
| .
p Happy coding!

View File

@ -1,28 +0,0 @@
extends ../layout
block content
include ../partials/flyer
#modal-dialog.modal
.modal-dialog
.modal-content
.modal-header
a.close(href='/settings', data-dismiss='modal', aria-hidden='true') ×
h3 You don't really want to delete your account, do you?
.modal-body
p This will really delete all your data, including all your progress and brownie points.
p We won't be able to recover any of it for you later, even if you change your mind.
p If there's something we could do better, send us an email instead and we'll do our best: &thinsp;
a(href="mailto:team@freecodecamp.org") team@freecodecamp.org
| .
.modal-footer
a.btn.btn-success.btn-block(href='/settings', data-dismiss='modal', aria-hidden='true')
| Nevermind, I don't want to delete all of my progress
.spacer
form(action='/account/delete', method='POST')
input(type='hidden', name='_csrf', value=_csrf)
button.btn.btn-danger.btn-block(type='submit')
| I am 100% sure I want to delete my account and all of my progress
script.
document.addEventListener('DOMContentLoaded', function() {
const modal$ = document.getElementById('modal-dialog');
modal$.classList.add('show');
});

View File

@ -1,29 +0,0 @@
extends ../layout
block content
#modal-dialog.modal
.modal-dialog
.modal-content
.modal-header
a.close(href='/settings', data-dismiss='modal', aria-hidden='true') ×
h3 Do you want to report #{username}'s profile for abuse?
.modal-body
p We will notify the community moderators' team,
| and a send copy of this report to your email:
strong #{user.email}
| . We may get back to you for more information, if required.
.modal-footer
form(action='/' + username +'/report-user/', method='POST')
input(type='hidden', name='_csrf', value=_csrf)
div
textarea.modal-textarea(name='reportDescription', cols='40', rows='5')
.spacer
button.btn.btn-danger.btn-block(type='submit')
| Yes, submit my report about this user's profile.
.spacer
a.btn.btn-success.btn-block(href='/settings', data-dismiss='modal', aria-hidden='true')
| Nevermind, I don't want to report this user.
script.
document.addEventListener('DOMContentLoaded', function() {
const modal$ = document.getElementById('modal-dialog');
modal$.classList.add('show');
});

View File

@ -1,25 +0,0 @@
extends ../layout
block content
include ../partials/flyer
#modal-dialog.modal
.modal-dialog
.modal-content
.modal-header
a.close(href='/settings', data-dismiss='modal', aria-hidden='true') ×
h3 You don't really want to reset your progress, do you?
.modal-body
p This will really delete all of your progress and brownie points.
p We won't be able to recover any of it for you later, even if you change your mind.
.modal-footer
a.btn.btn-success.btn-block(href='/settings', data-dismiss='modal', aria-hidden='true')
| Nevermind, I don't want to delete all of my progress and brownie points
.spacer
form(action='/account/resetprogress', method='POST')
input(type='hidden', name='_csrf', value=_csrf)
button.btn.btn-danger.btn-block(type='submit')
| I am 100% sure I want to reset all of my progress and brownie points
script.
document.addEventListener('DOMContentLoaded', function() {
const modal$ = document.getElementById('modal-dialog');
modal$.classList.add('show');
});

View File

@ -1,188 +0,0 @@
extends ../layout
block content
include ../partials/flyer
.app-content.app-centered
script.
var challengeName = 'Profile View';
if (user && user.username === username)
.row
.col-xs-12
a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='/settings')
| Update my settings
.col-xs-12
a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='/signout')
| Sign me out of freeCodeCamp
.col-xs-12
a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='mailto:team@freecodecamp.org')
| Email us at team@freecodecamp.org
.spacer
h1.text-center #{username}'s code portfolio
hr
.row
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2.text-center
if picture
img.img-center.img-responsive.public-profile-img.border-radius-5(src=picture)
else
img.img-center.img-responsive.public-profile-img.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/camper-image-placeholder.png')
h1.text-center.negative-5.profile-social-icons
if (twitter)
a.fa.fa-twitter-square.text-primary(title="@#{username}'s Twitter Profile", href='https://twitter.com/' + twitter, target='_blank')
if (github)
a.fa.fa-github-square.text-primary(title="@#{username}'s GitHub Profile", href=github, target='_blank')
if (linkedin)
a.fa.fa-linkedin-square.text-primary(title="@#{username}'s LinkedIn Profile", href=linkedin, target='_blank')
h1.flat-top.wrappable= name
h1.flat-top.wrappable= location
p.flat-top.bio= bio
h1.flat-top.text-primary= "[ " + (progressTimestamps.length) + " ]"
if pledge
.spacer
h4
| This camper has committed to giving $#{pledge.amount} to
a(href='#{pledge.donateUrl}?ref=freecodecamp.org' target='_blank') #{pledge.displayName}
| each month until they have completed their #{pledge.goal}.
.spacer
.row
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2
if isFrontEndCert
a.btn.btn-primary.btn-block(href='/' + username + '/front-end-certification') View My Front End Development Certification
if isDataVisCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/data-visualization-certification') View My Data Visualization Certification
if isBackEndCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/back-end-certification') View My Back End Development Certification
if isRespWebDesignCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/responsive-web-design-certification') View My Responsive Web Design Certification
if isFrontEndLibsCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/front-end-libraries-certification') View My Front End Libraries Certification
if isJsAlgoDataStructCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/javascript-algorithms-data-structures-certification') View My JavaScript Algorithms Data Structures Certification
if isApisMicroservicesCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/apis-microservices-certification') View My APIs Microservices Certification
if isInfosecQaCert
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/information-security-quality-assurance-certification') View My Information Sequrity Quality Assurance Certification
if (user && user.username != username)
.button-spacer
a.btn.btn-primary.btn-block(href='/' + username + '/report-user/') Report this user's profile for abuse
.row
.col-xs-12.text-center
if (badges.coreTeam && badges.coreTeam.length)
h4 Core Team #{badges.coreTeam.reverse().join(', ')}
.spacer
.col-md-12
#cal-heatmap.hidden-xs.hidden-sm.d3-centered
script.
$(document).ready(function () {
var cal = new CalHeatMap();
var calendar = !{JSON.stringify(calender)};
var rectSelector = "#cal-heatmap > svg > svg.graph-legend > g > rect.r";
var calLegendTitles = ["0 items", "1 item", "2 items", "3 or more items"]
cal.init({
itemSelector: "#cal-heatmap",
domain: "month",
subDomain: "x_day",
domainGutter: 10,
data: calendar,
cellSize: 15,
align: 'center',
cellRadius: 3,
cellPadding: 2,
tooltip: true,
range: 6,
start: new Date().setDate(new Date().getDate() - 150),
legendColors: ["#cccccc", "#215f1e"],
legend: [1, 2, 3],
label: {
position: "top"
}
});
calLegendTitles.forEach(function(title, i) {
document.querySelector(rectSelector + (i + 1).toString() + '> title').innerHTML = title;
});
});
.row
.hidden-xs.col-sm-12.text-center
.row.text-primary
h4.col-sm-6.text-right Longest Streak: #{longestStreak} #{longestStreak === 1 ? ' day' : ' days'}
h4.col-sm-6.text-left Current Streak: #{currentStreak} #{currentStreak === 1 ? ' day' : ' days'}
if (user && user.username == username || !isLocked)
if (projects .length > 0)
.col-sm-12
table.table.table-striped
thead
tr
th.col-xs-5 Projects
th.col-xs-2.hidden-xs Completed
th.col-xs-2.hidden-xs Last Updated
th.col-xs-2.hidden-xs Link
for challenge in projects
tr
td.col-xs-5.hidden-xs
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}', target='_blank')= challenge.name
td.col-xs-2.hidden-xs= challenge.completedDate ? challenge.completedDate : 'Not Available'
td.col-xs-2.hidden-xs= challenge.lastUpdated ? challenge.lastUpdated : ''
td.col-xs-2.hidden-xs
a(href=challenge.solution, target='_blank') View project
td.col-xs-12.visible-xs
a(href=challenge.solution, target='_blank')= challenge.name
if (algorithms.length > 0)
.col-sm-12
table.table.table-striped
thead
tr
th.col-xs-5 Algorithms
th.col-xs-2.hidden-xs Completed
th.col-xs-2.hidden-xs Last Updated
th.col-xs-2.hidden-xs Solution
for challenge in algorithms
tr
td.col-xs-5.hidden-xs= challenge.name
td.col-xs-2.hidden-xs= challenge.completedDate ? challenge.completedDate : 'Not Available'
td.col-xs-2.hidden-xs= challenge.lastUpdated ? challenge.lastUpdated : ''
td.col-xs-2.hidden-xs
if (challenge.solution)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}?solution=#{encodeURIComponent(encodeFcc(challenge.solution))}', target='_blank') View solution
else
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}') View this challenge
td.col-xs-12.visible-xs
if (challenge.solution)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}?solution=#{encodeURIComponent(encodeFcc(challenge.solution))}', target='_blank')= challenge.name
else
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}')= challenge.name
if (challenges.length > 0)
.col-sm-12
table.table.table-striped
thead
tr
th.col-xs-5 Challenges
th.col-xs-2.hidden-xs Completed
th.col-xs-2.hidden-xs Last Updated
th.col-xs-2.hidden-xs Solution
for challenge in challenges
tr
td.col-xs-5.hidden-xs= challenge.name
td.col-xs-2.hidden-xs= challenge.completedDate ? challenge.completedDate : 'Not Available'
td.col-xs-2.hidden-xs= challenge.lastUpdated ? challenge.lastUpdated : ''
td.col-xs-2.hidden-xs
if (challenge.solution && challenge.name)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}?solution=#{encodeURIComponent(encodeFcc(challenge.solution))}', target='_blank') View solution
else if (challenge.name)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}') View this challenge
else
span N/A
td.col-xs-12.visible-xs
if (challenge.solution && challenge.name)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}?solution=#{encodeURIComponent(encodeFcc(challenge.solution))}', target='_blank')= challenge.name
else if (challenge.name)
a(href='/challenges/#{challenge.block}/#{challenge.dashedName}')= challenge.name
else
span N/A

View File

@ -1,57 +0,0 @@
extends ../layout
block content
.row.flashMessage.negative-30
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
#flash-board.alert.fade.in(style='display: none;')
button.close(type='button', data-dismiss='alert')
i.fas.fa-times-circle#flash-close
#flash-content
.container
h2.text-center Update your email address here:
form.form-horizontal.update-email(method='POST', action='/update-my-email', name="updateEmailForm")
.row
.col-sm-6.col-sm-offset-3
input(type='hidden', name='_csrf', value=_csrf)
.form-group
input.input-lg.form-control(type='email', name='email', id='email', value=user.email || '', placeholder=user.email || 'Enter your new email', autofocus, required, autocomplete="off")
.form-group
button.btn.btn-lg.btn-primary.btn-block(type='submit')= !user.email || user.emailVerified ? 'Update my Email' : 'Verify Email'
a.btn.btn-lg.btn-block.btn-primary.btn-link-social(href='/signout')
| Sign out
script.
$(document).ready(function() {
$('form').submit(function(event){
event.preventDefault();
$('#flash-board').hide();
var $form = $(event.target);
$.ajax({
type : 'POST',
url : $form.attr('action'),
data : $form.serialize(),
dataType : 'json',
encode : true,
xhrFields : { withCredentials: true }
})
.fail(error => {
if (error.responseText){
var data = JSON.parse(error.responseText);
if(data.message)
$('#flash-content').html(data.message);
$('#flash-board')
.removeClass('alert-success')
.addClass('alert-info')
.fadeIn();
}
})
.done(data =>{
if(data && data.message){
$('#flash-content').html(data.message);
$('#flash-board')
.removeClass('alert-info')
.addClass('alert-success')
.fadeIn();
}
});
});
});

View File

@ -1,58 +0,0 @@
doctype html
head
title!= errorTitle
style.
* {
margin: 0;
padding: 0;
outline: 0;
}
body {
padding: 80px 100px;
background: #ECE9E9 -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#ECE9E9));
background: #ECE9E9 -moz-linear-gradient(top, #fff, #ECE9E9);
background-repeat: no-repeat;
color: #555;
-webkit-font-smoothing: antialiased;
}
h1, h2 {
font-size: 22px;
color: #343434;
}
h1 em, h2 em {
padding: 0 5px;
font-weight: normal;
}
h1 {
font-size: 60px;
}
h2 {
margin-top: 10px;
}
ul li {
list-style: none;
}
#trace {
margin-top: 10px;
margin-left: 60px;
}
body
#wrapper
h1!= title
h2
em!= status
| #{errorTitle}
h2
em User Message:
| #{message}
h2
em Type:
| #{type}
h2
em redirect to:
a(href=redirectTo) #{redirectTo}
h2
em stack trace:
ul#trace!= stack

View File

@ -1,14 +0,0 @@
script.
$(document).ready(function getActiveUsers() {
setInterval(function getActiveUsersInterval() {
$.ajax({
type : 'GET',
url : '/api/about/get-active-users',
})
.done(function({ activeUsers }) {
document.getElementById('active-user-count').innerHTML = `
<h3><span class='green-text'>${activeUsers}</span> people are using freeCodeCamp right now</h3>
`;
})
}, 2000)
})

View File

@ -1,4 +0,0 @@
#active-user-count(style='display:none;')
h3
span.green-text=activeUsers
| people are using freeCodeCamp right now

View File

@ -1,18 +0,0 @@
.row
.col-xs-12.col-sm-8.col-sm-offset-2
h2 News Feed
ul.list-group
each item in feed
li.list-group-item
a(href=item.link)
h3=item.title
div !{item.extract}
.spacer
.row
.col-xs-12.col-sm-8.col-sm-offset-2
.more-button-container
div
button.btn.btn-primary.btn-lg(href='https://medium.freecodecamp.org') More Articles
div
button.btn.btn-primary.btn-lg(href='https://freecodecamp.libsyn.com/') More Podcasts

View File

@ -1,7 +0,0 @@
.row.quote-partial
.col-xs-12.col-sm-10.col-sm-offset-1
blockquote.blockquote
span
q=quote
.spacer
footer.quote-author=author

View File

@ -1,3 +0,0 @@
script(src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js')
script(src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js')
// include activeUsersScript

View File

@ -1,35 +0,0 @@
.row
.col-xs-12.col-sm-8.col-sm-offset-2
p.stats
| You have completed&nbsp;
strong
span.green-text=completedChallengeCount
| &nbsp;of&nbsp;
strong
span.green-text=challengeCount
| &nbsp;coding challenges.
p.stats
| You have built&nbsp;
strong
span.green-text=completedProjectCount
| out of&nbsp;
strong
span.green-text 30
| projects.
if !!completedLegacyCertCount
p.stats
| You have earned&nbsp;
strong
span.green-text=completedLegacyCertCount
| out of&nbsp;
strong
span.green-text 3
| legacy certifications.
p.stats
| You have earned&nbsp;
strong
span.green-text=completedCertCount
| out of&nbsp;
strong
span.green-text 6
| certifications.

View File

@ -1,11 +0,0 @@
doctype html
html(lang='en')
head
if title
title= title
else
title freeCodeCamp
include partials/react-stylesheets
body
#news-app-mount!= markup
script(src=cacheBreaker(rev('/js', 'news.js')))

View File

@ -1,26 +0,0 @@
doctype html
html(lang='en').full-size
head
if title
title= title
else
title freeCodeCamp
include partials/react-stylesheets
body.full-size
#fcc.full-size!= markup
script!= state
script.
window.webpackManifest = !{JSON.stringify(chunkManifest || {})};
(function setTheme() {
let fccTheme;
try {
fccTheme = JSON.parse(localStorage.getItem('fcc-theme'));
if (fccTheme && fccTheme === 'night') {
document.body.classList.add('night');
}
}
catch(e) {
fccTheme = null;
}
})();
script(src=cacheBreaker(rev('/js', 'client.js')))

View File

@ -1,16 +0,0 @@
doctype html
html(lang='en')
head
include partials/meta
include partials/stylesheets
if showAside
body.map-aside-body(class=theme !== 'default' ? theme : '')
include partials/scripts
block content
else
body.no-top-and-bottom-margins(class=theme !== 'default' ? theme : '')
include partials/scripts
include partials/navbar
include partials/flash
block content
include partials/footer

View File

@ -1,12 +0,0 @@
doctype html
html(lang='en')
head
include partials/meta
include partials/stylesheets
body.main-container(class=theme !== 'default' ? theme : '')
include partials/scripts
include partials/navbar
include partials/flash
.container
block content
include partials/footer

View File

@ -1,90 +0,0 @@
extends layout
block content
.text-center
.row
h1.landing-heading Learn to code for free.
.big-break
include homePartials/activeUsersView
.big-break
.big-break
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landing-icon-community.svg', alt='Get great references and connections to start your software engineer career')
p.large-p Join a supportive community of millions of coders.
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landing-icon-certificate.svg', alt='Help nonprofits with bro bono code projects')
p.large-p Build projects and earn free certifications.
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landing-icon-experience.svg', alt='Get hired as a developer and start your software engineer career')
p.large-p Get experience by coding for nonprofits.
.big-break
.big-break
.row
.col-xs-12.col-sm-8.col-sm-offset-2
a.btn.btn-cta.signup-btn.btn-block(href="/signin") Start coding (it's free)
.spacer
h2 As featured in:
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
.spacer
hr
.spacer
h2 Launch your developer career
.spacer
.row
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/nsvNixW.jpg", alt="Meta's testimonial image")
p.testimonial-copy Through freeCodeCamp, I built a robust and highly functional web app for a nonprofit. This led me to getting a fantastic job.
h3 - Meta Hirschl
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/QPpjPac.jpg", alt="Brian's testimonial image")
p.testimonial-copy freeCodeCamp is a great way for disabled veterans like me to retrain. I'm already receiving software engineering job offers.
h3 - Brian Grant
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/wjlDigg.jpg", alt="Maxim Orlov's testimonial image")
p.testimonial-copy I joined freeCodeCamp with zero knowledge of web development. 6 months later, I landed my first job as a back end engineer.
h3 - Maxim Orlov
.spacer
hr
.spacer
h2 Learn powerful skills
.spacer
.row
.text-center.negative-35
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-html5.font-awesome-padding
h2.black-text HTML5
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-css3-alt.font-awesome-padding
h2.black-text CSS3
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-js.font-awesome-padding
h2.black-text JavaScript
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fas.fa-database.font-awesome-padding
h2.black-text Databases
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-github.font-awesome-padding
h2.black-text Git & GitHub
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-node-js.font-awesome-padding
h2.black-text Node.js
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.fab.fa-react.font-awesome-padding
h2.black-text React.js
.col-xs-12.col-sm-6.col-md-3
.landing-skill-icon.custom-landing-skill-icon
img(src='https://s3.amazonaws.com/freecodecamp/d3-logo.svg')
h2.black-text D3.js
.big-break
.row
.col-xs-12.col-sm-8.col-sm-offset-2
a.btn.btn-cta.signup-btn.btn-block(href="/signin") Start coding (it's free)
.big-break
.big-break
hr
.big-break
.big-break
.big-break
include homePartials/scripts

View File

@ -1,21 +0,0 @@
.container
.row.flashMessage
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
if messages.danger
.alert.alert-danger.fade.in
button.close(type='button', data-dismiss='alert')
i.fas.fa-times-circle
for danger in messages.danger
div!= typeof danger === 'string' ? danger : danger.msg
if messages.info
.alert.alert-info.fade.in
button.close(type='button', data-dismiss='alert')
i.fas.fa-times-circle
for info in messages.info
div!= typeof info === 'string' ? info : info.msg
if messages.success
.alert.alert-success.fade.in
button.close(type='button', data-dismiss='alert')
i.fas.fa-times-circle
for success in messages.success
div!= typeof success === 'string' ? success : success.msg

View File

@ -1,8 +0,0 @@
if (user && user.points > 15)
.container
.row.flashMessage.negative-30
.col-xs-12
#bill-board.alert.alert-info.fade.in(style='display: none;')
button.close(type='button', data-dismiss='alert', id='dismiss-bill')
i.fas.fa-times-circle
#bill-content

View File

@ -1,2 +0,0 @@
// scripts should be moved here

View File

@ -1,60 +0,0 @@
meta(charset='utf-8')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(name='viewport', content='width=device-width, initial-scale=1.0')
title #{title} | freeCodeCamp
link(rel='canonical', href='https://www.freecodecamp.org')
meta(charset='utf-8')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(name='viewport', content='width=device-width, initial-scale=1.0')
meta(name='csrf-token', content=_csrf)
meta(property="og:title", content="Learn to code with free online courses, programming projects, and interview preparation for developer jobs.")
meta(property="og:site_name", content="freeCodeCamp")
meta(name='twitter:widgets:csp', content='on')
meta(name='p:domain_verify', content='d0bc047a482c03c24f1168004c2a216a')
meta(property="og:url", content="https://www.freecodecamp.org")
meta(property="og:description", content="Learn to code with free online courses, programming projects, and interview preparation for developer jobs.")
meta(property="og:image", content="https://s3.amazonaws.com/freecodecamp/curriculum-diagram-full.jpg")
meta(property="og:type", content="article")
meta(property="article:publisher", content="https://www.facebook.com/freecodecamp")
meta(property="article:section", content="Responsive")
link(rel="publisher", href="https://plus.google.com/+Freecodecamp")
link(rel="author", href="https://plus.google.com/+Freecodecamp")
meta(name="description", content="Learn to code with free online courses, programming projects, and interview preparation for developer jobs.")
meta(name="twitter:creator", content="@freecodecamp")
meta(name="twitter:url", content="http://www.freecodecamp.org")
meta(name="twitter:site", content="@freecodecamp")
meta(name="twitter:card", content="summary_large_image")
meta(name="twitter:image:src", content="https://s3.amazonaws.com/freecodecamp/curriculum-diagram-full.jpg")
meta(name="twitter:title", content="Learn to code for free")
meta(name="twitter:description", content="Learn to code with free online courses, programming projects, and interview preparation for developer jobs.")
meta(content="a40ee5d5dba3bb091ad783ebd2b1383f", name="p:domain_verify")
meta(name="msapplication-TileColor", content="#FFFFFF")
meta(name="msapplication-TileImage", content="/")
link(rel="android-chrome", sizes="144x144" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-144x144.png")
link(rel="android-chrome", sizes="192x192" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-192x192.png")
link(rel="android-chrome", sizes="36x36" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-36x36.png")
link(rel="android-chrome", sizes="48x48" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-48x48.png")
link(rel="android-chrome", sizes="72x72" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-72x72.png")
link(rel="android-chrome", sizes="96x96" href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-96x96.png")
link(rel="android-chrome-manifest", href="https://s3.amazonaws.com/freecodecamp/favicons/android-chrome-manifest.json")
link(rel="apple-touch-icon", sizes="114x114", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-114x114.png")
link(rel="apple-touch-icon", sizes="120x120", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-120x120.png")
link(rel="apple-touch-icon", sizes="144x144", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-144x144.png")
link(rel="apple-touch-icon", sizes="152x152", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-152x152.png")
link(rel="apple-touch-icon", sizes="180x180", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-180x180.png")
link(rel="apple-touch-icon", sizes="57x57", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-57x57.png")
link(rel="apple-touch-icon", sizes="60x60", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-60x60.png")
link(rel="apple-touch-icon", sizes="72x72", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-72x72.png")
link(rel="apple-touch-icon", sizes="76x76", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-76x76.png")
link(rel="apple-touch-icon-precomposed", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon-precomposed.png")
link(rel="apple-touch-icon", href="https://s3.amazonaws.com/freecodecamp/favicons/apple-touch-icon.png")
link(rel="favicon", sizes="16x16", href="https://s3.amazonaws.com/freecodecamp/favicons/favicon-16x16.png")
link(rel="favicon", sizes="32x32", href="https://s3.amazonaws.com/freecodecamp/favicons/favicon-32x32.png")
link(rel="favicon", sizes="96x96", href="https://s3.amazonaws.com/freecodecamp/favicons/favicon-96x96.png")
link(rel="mstile", sizes="144x144", href="https://s3.amazonaws.com/freecodecamp/favicons/mstile-144x144.png")
link(rel="mstile", sizes="150x150", href="https://s3.amazonaws.com/freecodecamp/favicons/mstile-150x150.png")
link(rel="mstile", sizes="310x310", href="https://s3.amazonaws.com/freecodecamp/favicons/mstile-310x310.png")
link(rel="mstile", sizes="310x150", href="https://s3.amazonaws.com/freecodecamp/favicons/mstile-310x150.png")
link(rel="mstile", sizes="70x70", href="https://s3.amazonaws.com/freecodecamp/favicons/mstile-70x70.png")
link(rel="favicon", href="https://s3.amazonaws.com/freecodecamp/favicons/favicon.ico")
link(rel='shortcut icon', href='//s3.amazonaws.com/freecodecamp/favicons/favicon.ico')

View File

@ -1,22 +0,0 @@
nav.navbar.navbar-default.navbar-static-top.nav-height
.navbar-header
button.hamburger.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse')
.col-xs-12
span.hamburger-text Menu
a.navbar-brand(href='/')
img.img-responsive.nav-logo(src='https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg', alt='learn to code javascript at freeCodeCamp logo')
.collapse.navbar-collapse
ul.nav.navbar-nav.navbar-right.hamburger-dropdown
li
a(href='https://learn.freecodecamp.org' rel='noopener') Curriculum
li
a(href='https://forum.freecodecamp.org', target='_blank' rel='noopener') Forum
li
a(href='/news', rel='noopener') News
if !user
li
a(href='/signin') Sign in
else
li
a(href='/settings') Settings

View File

@ -1,18 +0,0 @@
link(rel='stylesheet', type='text/css' href='/css/lato.css')
link(rel='stylesheet', type='text/css' href='/css/ubuntu.css')
link(rel='stylesheet', href='https://use.fontawesome.com/releases/v5.2.0/css/all.css' integrity='sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ' crossorigin='anonymous')
link(rel='stylesheet', href=cacheBreaker(rev('/css', 'main.css')))
include meta
meta(charset='utf-8')
meta(http-equiv='X-UA-Compatible', content='IE=edge')
meta(name='viewport', content='width=device-width, initial-scale=1.0')
meta(name='csrf-token', content=_csrf)
script.
(function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55446531-1', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');

View File

@ -1,18 +0,0 @@
script.
(function(i,s,o,g,r,a,m){ i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-55446531-1', 'auto');
ga('require', 'displayfeatures');
ga('send', 'pageview');
// Leave the below lines alone!
script.
(function(global) {
global.main = global.main || {};
global.main.isLoggedIn = !{JSON.stringify(!!user)};
global.main.userId = !{JSON.stringify(user && user.id || false)};
}(window))
script(defer, src=rev('/js/lib/fontawesome', 'fa-brands.min.js'))
script(defer, src=rev('/js/lib/fontawesome', 'fa-solid.min.js'))
script(src=rev('/js/lib/fontawesome', 'fontawesome.min.js'))

View File

@ -1,4 +0,0 @@
link(rel='stylesheet', type='text/css' href='/css/lato.css')
link(rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/cal-heatmap/3.5.2/cal-heatmap.css")
link(rel='stylesheet', href='https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.8.2/css/lightbox.min.css')
link(rel='stylesheet', href=cacheBreaker(rev('/css', 'main.css')))

View File

@ -1,13 +0,0 @@
extends ../layout
block content
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
html.
<h2 class='text-center'></a>Academic Honesty Policy</h2>
<hr>
<p>Before we issue our verified certification to a camper, he or she must accept our Academic Honesty Pledge, which reads:</p>
<p>"I understand that plagiarism means copying someone elses work and presenting the work as if it were my own, without clearly attributing the original author.</p>
<p>"I understand that plagiarism is an act of intellectual dishonesty, and that people usually get kicked out of university or fired from their jobs if they get caught plagiarizing.</p>
<p>"Aside from using open source libraries such as jQuery and Bootstrap, and short snippets of code which are clearly attributed to their original author, 100% of the code in my projects was written by me, or along with another camper with whom I was pair programming in real time.</p>
<p>"I pledge that I did not plagiarize any of my freeCodeCamp work. I understand that freeCodeCamps team will audit my projects to confirm this."</p>
<p>In the situations where we discover instances of unambiguous plagiarism, we will replace the camper in questions certification with a message that "Upon review, this account has been flagged for academic dishonesty."</p>
<p>As an academic institution that grants achievement-based certifications, we take academic honesty very seriously. If you have any questions about this policy, or suspect that someone has violated it, you can email <a href="mailto:team@freecodecamp.org">team@freecodecamp.org</a> and we will investigate.</p>

View File

@ -1,3 +0,0 @@
extends ../layout
block content
iframe(src="https://docs.google.com/forms/d/1MtQDh8E1Nvkg5jdOucS4LSyk6oMQrN8XTwmQGtgJPAQ/viewform?embedded=true", frameborder="0", marginheight="0", marginwidth="0", width='102%', height=2550, scrolling="no") Loading...

View File

@ -1,116 +0,0 @@
extends ../layout
block content
.text-center
h1.landing-heading We will build software for your nonprofit. Pro Bono.
.big-spacer
.row
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
p.large-p Apply for a Code Grant.
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
p.large-p We'll provide volunteer developers and a project manager.
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
p.large-p We'll collaborate with you to build the tool you need.
.spacer
h2 As featured in:
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
hr
.spacer
h1 What nonprofit leaders are saying:
.spacer
.row
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/ZHnFFN5.jpg", alt="Ewa's testimonial image")
p.nonprofit-testimonial-copy With freeCodeCamp's valuable contribution, we were able to improve all of our systems and processes as part of our Wonder Women Eastern Indonesia program, and make sure that even more life changing technologies get to where they are needed most.
h3 - Ewa Wojkowska with Kopernik
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/KHF8O2i.jpg", alt="Jennifer's testimonial image")
p.nonprofit-testimonial-copy We have been blown away by the professional quality of the work that has been produced by the campers working on our projects. freeCodeCamp has been an invaluable partner and we are grateful for their support.
h3 - Jennifer McDowell with Child First Authority
.col-xs-12.col-sm-12.col-md-4
img.img-responsive.testimonial-image.img-center(src="https://i.imgur.com/9VknVe3.jpg", alt="Stephanie's testimonial image")
p.nonprofit-testimonial-copy We had the pleasure to work with two very talented campers who went above and beyond to create a web-based app for us. I would highly recommend that nonprofits apply to freeCodeCamp with their custom solution needs!
h3 - Stephanie McAllister with Timeraiser
.spacer
hr
.spacer
h1 Solutions we can help you build:
.spacer
.row.text-center
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-tasks
h2.black-text Paperless Workflows
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-child
h2.black-text Volunteer Management
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-users
h2.black-text Community Management
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-repeat
h2.black-text Inventory Systems
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-truck
h2.black-text Logistics Tools
.col-xs-12.col-sm-12.col-md-4
.landing-skill-icon.fa.fa-wrench
h2.black-text ...and other tools
.spacer
hr
.spacer
h1 Some of the projects we've built for nonprofits:
.spacer
.row
.col-xs-12
h2 Options, Inc.
br
| Big Lake, Minnesota
.embed-responsive.embed-responsive-16by9
iframe.embed-responsive-item(src='//www.youtube.com/embed/V8B4orj0M7Y?rel=0&amp;showinfo=0')
.spacer
.row
.col-xs-12
h2 Child First Authority
br
| Baltimore, Maryland
.embed-responsive.embed-responsive-16by9
iframe.embed-responsive-item(src='//www.youtube.com/embed/O993J5KCR_w?rel=0&amp;showinfo=0')
.spacer
.row
.col-xs-12
h2 Chasdei Kaduri Food Bank
br
| Toronto, Canada
.embed-responsive.embed-responsive-16by9
iframe.embed-responsive-item(src='//www.youtube.com/embed/XUR8E9fy0mE?rel=0&amp;showinfo=0')
.spacer
hr
.spacer
h2 As grantmakers of pro bono code, we approve applications for nonprofits who:
.col-xs-12.col-sm-8.col-sm-offset-2.text-left.large-p
ul.large-li
li
span.fa.fa-code
| &thinsp; have 501(c)(3) status or foreign equivalent.
li
span.fa.fa-code
| &thinsp; have a demonstrated need for custom code.
li
span.fa.fa-code
| &thinsp; have explored existing software solutions.
li
span.fa.fa-code
| &thinsp; already have people who benefit from their services.
li
span.fa.fa-code
| &thinsp; can budget $20 to $30 per month for hosting.
li
span.fa.fa-code
| &thinsp; will commit to using what our developers build.
.row
.col-xs-12.col-sm-8.col-sm-offset-2
.spacer
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") Apply

View File

@ -1,3 +0,0 @@
extends ../layout
block content
iframe(src="https://docs.google.com/forms/d/1Y9wvQAx5s_puGcC-NRZpKLMgT0iZwajGMbkKlh-piGg/viewform?embedded=true", frameborder="0", marginheight="0", marginwidth="0", width='102%', height=2000, scrolling="no") Loading...

View File

@ -1,55 +0,0 @@
extends ../layout
block content
.jumbotron
.text-center
.row
.col-xs-12
h1.nonprofit-landing.hug-top Get Agile Project Management Experience for the PMI-ACP by Helping Nonprofits
.big-break
.col-xs-12.col-sm-12.col-md-12
.embed-responsive.embed-responsive-16by9
iframe.embed-responsive-item(src='//player.vimeo.com/video/126228100')
.big-break
h2 Your opportunity:
.row
.col-xs-12.col-sm-12.col-md-4
h3.nowrap Plan Projects
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
p.landing-p You'll triage deliverables and set deadlines.
.col-xs-12.col-sm-12.col-md-4
h3.nowrap Manage Teams
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
p.landing-p You'll lead two developers and a nonprofit stakeholder to success.
.col-xs-12.col-sm-12.col-md-4
h3.nowrap Become a PMI-ACP
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
p.landing-p You'll learn Agile, get references, and qualify for the PMI-ACP.
.big-break
h2 Solutions you'll help nonprofits build:
.text-center.negative-35
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-globe.font-awesome-padding
h2.black-text Websites
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-credit-card.font-awesome-padding
h2.black-text Donation Systems
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-calendar.font-awesome-padding
h2.black-text Volunteer Systems
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-archive.font-awesome-padding
h2.black-text Inventory Systems
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-graduation-cap.font-awesome-padding
h2.black-text E-learning Platforms
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-list-alt.font-awesome-padding
h2.black-text Paperless Workflows
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-users.font-awesome-padding
h2.black-text Community Tools
.col-xs-12.col-sm-12.col-md-3
i.landing-skill-icon.fas.fa-wrench.font-awesome-padding
h2.black-text ...and other tools
.big-break
a.btn.btn-cta.signup-btn.btn-block(href="/pmi-acp-agile-project-managers-form") I want to lead agile projects for nonprofits

View File

@ -1,93 +0,0 @@
doctype xml
urlset(xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
url
loc http://www.freecodecamp.org/
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/nonprofits
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/pmi-acp-agile-project-managers
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/map
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/about
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/donate
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/stories
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/coding-bootcamp-cost-calculator
changefreq monthly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/privacy
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/software-resources-for-nonprofits
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/the-fastest-web-page-on-the-internet
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/academic-honesty
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/code-of-conduct
changefreq weekly
lastmod= now
priority= 0.9
url
loc http://www.freecodecamp.org/how-nonprofit-projects-work
changefreq weekly
lastmod= now
priority= 0.9
each challenge in challenges
url
loc #{appUrl}/challenges/#{challenge.block}/#{challenge.dashedName}
lastmod= now
changefreq weekly
priority= 0.9

View File

@ -1,78 +0,0 @@
extends ../layout
block content
.col-xs-12.col-sm-8.col-sm-offset-2.col-md-6.col-md-offset-3
h2.text-center Software Resources for Nonprofits
hr
p Please note that freeCodeCamp is not partnered with, nor do we receive a referral fee from, any of the following providers. We simply want to help guide you toward a solution for your organization.
h3 Skills-based Volunteer Organizations:
ul
li
a(href='http://givecamp.org/' target='_blank') Give Camp
li
a(href='http://www.volunteermatch.com' target='_blank') Volunteer Match.com
li
a(href='http://www.catchafire.org' target='_blank') Catchafire
li
a(href='http://anyonecanhaveawebsite.com' target='_blank') Anyone Can Have A Website
h3 Building a website:
ul
li
a(href='https://www.youtube.com/watch?v=4AXDKWuY9QM' target='_blank') How to build and deploy a website without writing any code for free
li
a(href='http://www.wix.com/' target='_blank') Wix
li
a(href='https://www.squarespace.com/' target='_blank') Square Space
li
a(href='https://wordpress.com/' target='_blank') WordPress
li
a(href='https://xprs.imcreator.com' target='_blank') Imcreator.com
h3 Donor and Volunteer Management Systems:
ul
li
a(href='http://causesignal.com' target='_blank') Cause Signal
li
a(href='https://www.thedatabank.com/' target='_blank') The Data Bank
li
a(href='http://www.donorsnap.com/' target='_blank') Donor Snap
li
a(href='http://www.donorperfect.com/' target='_blank') Donor Perfect
li
a(href='https://www.blackbaud.com/fundraising-crm/etapestry-donor-management' target='_blank') E Tapestry
li
a(href='http://www.z2systems.com' target='_blank') Z2 Systems
li
a(href='http://www.regpacks.com/volunteer-management' target='_blank') Reg Packs
li
a(href='http://sumac.com' target='_blank') Sumac
li
a(href='http://www.volgistics.com' target='_blank') Volgistics
h3 Inventory Management Systems:
ul
li
a(href='https://www.ordoro.com' target='_blank') Ordoro
li
a(href='http://www.unleashedsoftware.com' target='_blank') Unleashed Software
li
a(href='https://www.ezofficeinventory.com/industries/non-profits' target='_blank') EZ Office Inventory
h3 E-Learning platforms:
ul
li
a(href='http://www.dokeos.com' target='_blank') Dokeos
li
a(href='http://www.efrontlearning.net/' target='_blank') E Front Learning
li
a(href='https://moodle.org/' target='_blank') Moodle
li
a(href='https://sakaiproject.org/' target='_blank') Sakai Project
h3 Community Management:
ul
li
a(href='https://civicrm.org/' target='_blank') CiviCRM
li
a(href='http://tcmgr.com/' target='_blank') Total Community Manager
h3 Electronic Forms:
ul
li
a(href='http://www.google.com/forms' target='_blank') Google Forms
li
a(href='http://www.typeform.com' target='_blank') Typeform

View File

@ -1,25 +0,0 @@
extends ../layout
block content
h1.text-center Stories from happy campers
hr
.row
.col-xs-12.col-sm-10.col-sm-offset-1
.row
for story in stories
.col-xs-12.col-sm-6.col-md-4
.height-500
a(href=story.linkedin target='_blank')
img.testimonial-image.img-responsive.img-center(src=story.image)
h3.text-center= story.camper
| &nbsp;
a.fa.fa-linkedin-square.text-primary(alt="#{story.camper}'s LinkedIn Profile", href=story.linkedin, target='_blank')
p.small-p.text-justify= story.quote
.col-xs-12.col-sm-10.col-sm-offset-1
if moreStories
.text-center
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/all-stories") Show more stories
.spacer
if !user
.text-center
a.btn.btn-cta.signup-btn.btn-block(href="/signin") Start learning to code (it's free)

View File

@ -1,9 +0,0 @@
extends ../layout
block content
.panel.panel-info
.panel-body.text-center
h1 You have successfully been unsubscribed.
h2 Whatever you do, keep coding! :)
if unsubscribeId
.col-xs-12.col-md-8.col-md-offset-2
a.btn.btn-primary.btn-lg.btn-block(href='/resubscribe/#{unsubscribeId}') You can click here to resubscribe

View File

@ -1,75 +0,0 @@
extends ../layout
block content
script.
.panel.panel-info
.panel-heading.text-center
h1 These Sponsors make freeCodeCamp possible
.panel-body
img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
.spacer
.row
.col-xs-12.col-md-10.col-md-offset-1
h1 Interested in becoming a sponsor? Call us any time at +1 888-888-8888
.spacer
h1.text-center Platinum Sponsors
.row
.col-xs-6
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-12.col-sm-10.col-md-8.col-sm-offset-1.col-md-offset-2.negative-35
h3
a(href='#' target='_blank') Name of Company
p.large-p Sagittis 9 lives climb the curtains lady tincidunt sleep on your face odd consequat lobortis erat eu? Malesuada eros, ac facilisis waffles reddit cute id together lacinia lived faucibus! Sed, sleeping watched diam cat ut mercedes litora? Meet cute aptent lacinia, eu likes quam neighbors tincidunt scelerisque quis loves she.
.col-xs-6
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-12.col-sm-10.col-md-8.col-sm-offset-1.col-md-offset-2.negative-35
h3
a(href='#' target='_blank') Name of Company
p.large-p Sagittis 9 lives climb the curtains lady tincidunt sleep on your face odd consequat lobortis erat eu? Malesuada eros, ac facilisis waffles reddit cute id together lacinia lived faucibus! Sed, sleeping watched diam cat ut mercedes litora? Meet cute aptent lacinia, eu likes quam neighbors tincidunt scelerisque quis loves she.
h1.text-center Gold Sponsors
.row
.col-xs-4
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-12.col-sm-10.col-sm-offset-1.negative-35
h3
a(href='#' target='_blank') Name of Company
p.large-p Sagittis 9 lives climb the curtains lady tincidunt sleep on your face odd consequat lobortis erat eu? Malesuada eros, ac facilisis waffles reddit cute id together lacinia lived faucibus! Sed, sleeping watched diam cat ut mercedes litora? Meet cute aptent lacinia, eu likes quam neighbors tincidunt scelerisque quis loves she.
.col-xs-4
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-12.col-sm-10.col-sm-offset-1.negative-35
h3
a(href='#' target='_blank') Name of Company
p.large-p Sagittis 9 lives climb the curtains lady tincidunt sleep on your face odd consequat lobortis erat eu? Malesuada eros, ac facilisis waffles reddit cute id together lacinia lived faucibus! Sed, sleeping watched diam cat ut mercedes litora? Meet cute aptent lacinia, eu likes quam neighbors tincidunt scelerisque quis loves she.
.col-xs-4
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-12.col-sm-10.col-sm-offset-1.negative-35
h3
a(href='#' target='_blank') Name of Company
p.large-p Sagittis 9 lives climb the curtains lady tincidunt sleep on your face odd consequat lobortis erat eu? Malesuada eros, ac facilisis waffles reddit cute id together lacinia lived faucibus! Sed, sleeping watched diam cat ut mercedes litora? Meet cute aptent lacinia, eu likes quam neighbors tincidunt scelerisque quis loves she.
h1.text-center Silver Sponsors
.row
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')
.col-xs-2
img.img-responsive.img-center(src='http://placekitten.com/200/300')

View File

@ -1,26 +0,0 @@
extends layout
block content
.text-center
.row
h1.landing-heading=title
.big-break
include homePartials/activeUsersView
.big-break
.row
.col-xs-12.col-sm-8.col-sm-offset-2
a(href="/n/7gR5pBM-K?refsource=userhome" target="_blank" class="update-link")
| We're building a massive open dataset about new coders. Take the 2018 New Coder Survey. It only takes 5 minutes.
.big-break
include homePartials/quote
.big-break
.big-break
include homePartials/stats
.big-break
.big-break
.row
.col-xs-12.col-sm-8.col-sm-offset-2
a.btn.btn-cta.btn-block.btn-lg.btn-primary(href="/challenges/current-challenge")
| Go to the coding curriculum
.big-break
.big-break
include homePartials/scripts

View File

@ -1,11 +1,13 @@
import React from 'react'
import { Grid, Panel, Button } from '@freecodecamp/react-bootstrap'
import { apiLocation } from '../../config/env.json'
import env from '../../config/env.json'
import Layout from '../components/Layout'
import FullWidthRow from '../components/helpers/FullWidthRow'
import { Spacer } from '../components/helpers'
const { apiLocation } = env;
function ShowUnsubscribed({ unsubscribeId }) {
return (
<Layout>

View File

@ -0,0 +1,314 @@
import React from 'react'
import { Grid } from '@freecodecamp/react-bootstrap'
import Layout from '../components/Layout'
import FullWidthRow from '../components/helpers/FullWidthRow'
import { Spacer } from '../components/helpers';
function SoftwareResourcesForNonProfits() {
return (
<Layout>
<Spacer />
<Spacer />
<Grid>
<FullWidthRow>
<h2 className="text-center">Software Resources for Nonprofits</h2>
<hr />
<p>
Please note that freeCodeCamp is not partnered with, nor do we
receive a referral fee from, any of the following providers. We
simply want to help guide you toward a solution for your
organization.
</p>
<h3>Skills-based Volunteer Organizations:</h3>
<ul>
<li>
<a
href="http://givecamp.org/"
target="_blank"
rel="noopener noreferrer"
>
Give Camp
</a>
</li>
<li>
<a
href="http://www.volunteermatch.com"
target="_blank"
rel="noopener noreferrer"
>
Volunteer Match.com
</a>
</li>
<li>
<a
href="http://www.catchafire.org"
target="_blank"
rel="noopener noreferrer"
>
Catchafire
</a>
</li>
<li>
<a
href="http://anyonecanhaveawebsite.com"
target="_blank"
rel="noopener noreferrer"
>
Anyone Can Have A Website
</a>
</li>
</ul>
<h3>Building a website:</h3>
<ul>
<li>
<a
href="https://www.youtube.com/watch?v=4AXDKWuY9QM"
target="_blank"
rel="noopener noreferrer"
>
How to build and deploy a website without writing any code for
free
</a>
</li>
<li>
<a
href="http://www.wix.com/"
target="_blank"
rel="noopener noreferrer"
>
Wix
</a>
</li>
<li>
<a
href="https://www.squarespace.com/"
target="_blank"
rel="noopener noreferrer"
>
Square Space
</a>
</li>
<li>
<a
href="https://wordpress.com/"
target="_blank"
rel="noopener noreferrer"
>
WordPress
</a>
</li>
<li>
<a
href="https://xprs.imcreator.com"
target="_blank"
rel="noopener noreferrer"
>
Imcreator.com
</a>
</li>
</ul>
<h3>Donor and Volunteer Management Systems:</h3>
<ul>
<li>
<a
href="http://causesignal.com"
target="_blank"
rel="noopener noreferrer"
>
Cause Signal
</a>
</li>
<li>
<a
href="https://www.thedatabank.com/"
target="_blank"
rel="noopener noreferrer"
>
The Data Bank
</a>
</li>
<li>
<a
href="http://www.donorsnap.com/"
target="_blank"
rel="noopener noreferrer"
>
Donor Snap
</a>
</li>
<li>
<a
href="http://www.donorperfect.com/"
target="_blank"
rel="noopener noreferrer"
>
Donor Perfect
</a>
</li>
<li>
<a
href="https://www.blackbaud.com/fundraising-crm/etapestry-donor-management"
target="_blank"
rel="noopener noreferrer"
>
E Tapestry
</a>
</li>
<li>
<a
href="http://www.z2systems.com"
target="_blank"
rel="noopener noreferrer"
>
Z2 Systems
</a>
</li>
<li>
<a
href="http://www.regpacks.com/volunteer-management"
target="_blank"
rel="noopener noreferrer"
>
Reg Packs
</a>
</li>
<li>
<a
href="http://sumac.com"
target="_blank"
rel="noopener noreferrer"
>
Sumac
</a>
</li>
<li>
<a
href="http://www.volgistics.com"
target="_blank"
rel="noopener noreferrer"
>
Volgistics
</a>
</li>
</ul>
<h3>Inventory Management Systems:</h3>
<ul>
<li>
<a
href="https://www.ordoro.com"
target="_blank"
rel="noopener noreferrer"
>
Ordoro
</a>
</li>
<li>
<a
href="http://www.unleashedsoftware.com"
target="_blank"
rel="noopener noreferrer"
>
Unleashed Software
</a>
</li>
<li>
<a
href="https://www.ezofficeinventory.com/industries/non-profits"
target="_blank"
rel="noopener noreferrer"
>
EZ Office Inventory
</a>
</li>
</ul>
<h3>E-Learning platforms:</h3>
<ul>
<li>
<a
href="http://www.dokeos.com"
target="_blank"
rel="noopener noreferrer"
>
Dokeos
</a>
</li>
<li>
<a
href="http://www.efrontlearning.net/"
target="_blank"
rel="noopener noreferrer"
>
E Front Learning
</a>
</li>
<li>
<a
href="https://moodle.org/"
target="_blank"
rel="noopener noreferrer"
>
Moodle
</a>
</li>
<li>
<a
href="https://sakaiproject.org/"
target="_blank"
rel="noopener noreferrer"
>
Sakai Project
</a>
</li>
</ul>
<h3>Community Management:</h3>
<ul>
<li>
<a
href="https://civicrm.org/"
target="_blank"
rel="noopener noreferrer"
>
CiviCRM
</a>
</li>
<li>
<a
href="http://tcmgr.com/"
target="_blank"
rel="noopener noreferrer"
>
Total Community Manager
</a>
</li>
</ul>
<h3>Electronic Forms:</h3>
<ul>
<li>
<a
href="http://www.google.com/forms"
target="_blank"
rel="noopener noreferrer"
>
Google Forms
</a>
</li>
<li>
<a
href="http://www.typeform.com"
target="_blank"
rel="noopener noreferrer"
>
Typeform
</a>
</li>
</ul>
</FullWidthRow>
</Grid>
</Layout>
)
}
SoftwareResourcesForNonProfits.displayName = 'SoftwareResourcesForNonProfits'
export default SoftwareResourcesForNonProfits

View File

@ -1,3 +1,7 @@
#api redirect
/internal/* https://api.freecodecamp.org/internal/:splat
# auth redirects
/signup /signin 301
/email-signin /signin 301
@ -16,3 +20,19 @@
/u/* https://api.freecodecamp.org/u/:splat
/unsunscribe/* https://api.freecodecamp.org/unsunscribe/:splat
/ue/* https://api.freecodecamp.org/ue/:splat
# misc redirects
/agile / 200
/chat https://gitter.im/FreeCodeCamp/FreeCodeCamp 301
/twitch https://twitch.tv/freecodecamp 301
/nonprofits-form / 200
/pmi-acp-agile-project-managers / 200
/pmi-acp-agile-project-managers-form / 200
/stories / 200
/all-stories / 200
/field-guide/* https://forum.freecodecamp.org 301
/learn-to-code /learn 200
/map /learn 200
/privacy https://forum.freecodecamp.org/t/free-code-camp-privacy-policy/19545 301
/nonprofit-project-instructions http://forum.freecodecamp.org/t/how-free-code-camps-nonprofits-projects-work/19547 301
/how-nonprofit-projects-work https://medium.freecodecamp.org/open-source-for-good-1a0ea9f32d5a 301