GithubHelp home page GithubHelp logo

samking / code-the-change Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 9.47 MB

Home Page: codethechange.org

License: GNU General Public License v2.0

PHP 81.24% JavaScript 9.12% CSS 8.67% Shell 0.97%

code-the-change's People

Contributors

slozier55 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

code-the-change's Issues

Clean up virtual hosts

Right now, we just have default and default-ssl, and since we're adding subdomains (ie, dev), those files are starting to get ugly. Can you move them into multiple files, one for each subdomain and protocol?

Hide .git

codethechange.org/.git is visible to the world. It isn't a big issue since we (hopefully) don't have any secure information checked into the repo, but it is tacky.

Add Blog

If people want to see stuff going on for Code the Change, or if I want a place to put miscellaneous information, there should be a blog for that.

Break up text

Right now, some pages (ie, /about) have lots of text. We should break them up with pictures or bold headings.

Add a sitemap

Search engines like having a sitemap. Thankfully, there are Drupal modules that exist to do this:

http://drupal.org/project/xmlsitemap

We should try installing the module, check through the generated XML to make sure that there aren't any pages in the sitemap that we don't want to be public, and we should also make sure that it's hierarchically organized similar to the hierarchy in issue #1 (#1).

Make a graphic for all historic projects

We should make a graphic with the logo of every organization we worked with.

We should also make a data type for projects, including a website, logo, description of the organization, and description of the project.

Organize Stuff / Get Stuff Visible

A lot of stuff should be more visible. This might mean putting some of it in sidebars. That includes most of the important links: donate, mailing list, get help as an organization, participate as a coder, fill out feedback. The top menu should be less crowded than it currently is, and it should be stuff like projects, about us, contact, and other projects. I think that http://www.ashoka.org/ does this well.

The top menu outline could look something like this:

  • Blog
    • Projects
    • Media
    • Sponsors
  • About
    • Contact / Staff
    • Mission / Values / Etc
    • History
    • Mailing Lists
    • Advisory Board
  • Coders
    • Code Jam Info
    • Code Jam Registration
    • Learn / Resources
    • Jobs
    • CS Concentration
  • Nonprofits
    • Code Jam Project Guidelines
    • Code Jam Project Registration
    • Recruit
    • Other Resources
  • Industry
    • Mentor
    • Sponsor
    • Code
  • Join
    • Start a Chapter At Your School
    • Join the Core Team

The bottom bar should have

  • Powered by Drupal
  • Hosted by Gandi.net
  • Legal (don't add this link until we actually make a legal page)
  • Privacy Policy (again, no link until we have a page)
  • Login
  • FB
  • Twitter (the social stuff could go in the header on the top, like at techchange.com

Make an internal organizational page

-we should make an internal page with links to important google docs so that it's easier for us to access them since I, at least, access them a lot and don't want to have to go through google docs file manager every time.

Registration for Code Jams should be in Drupal

Right now, registration is done on Google Docs. Instead, people should sign up for accounts on our site.

-Coder registration should be going into a drupal database rather than a google spreadsheet. Coders should be able to edit their registration and maintain information about themselves that persists after the event. OpenID would be cool to have but nonessential.

Set Up Backup

Back up both the drupal install and the databases

Remove obscure links

Right now, there are a lot of hyperlinked single words (ie, at the bottom of /about). People probably will miss those. Once we have other paths for users to get to those pages (ie, a better top level menu), we should get rid of them.

Add social stuff

blog
stuff to post to twitter, fb, g+ when we make a blog post
share buttons on every article
Ashoka ChangeShop
reddit

Make a graphic for all historic sponsors

The page should list every sponsor. It probably should just have all of their logos.

The image we make for them probably will go on a carousel on the home page and will also have its own page.

When we do this, we should also make a data type for sponsors and get each sponsor's logo and website and such entered.

Migrate to Drupal 7

Built in migration tools don't work. We need to make a new install and then manually migrate.

Homepage should be more graphical

The home page should have a big image slider that rotates between a few images. This should take up most of the page. It should slide between the Clinton image, a redesigned sponsors image, some pictures of events, a team picture (once we take one), and maybe pictures of some orgs that we have worked with in the past.

Below that, there should be a sentence with CtC's mission and a sentence with a description of what we do.

Below that, there should be a button directing people to a Coders landing page and another button directing people to a Nonprofits landing page.

Make a developer doc

Make a Google Doc that details everything that a developer needs to know:

  • how to set up a local development environment, check out the code, and push the code to the live site and the dev site
  • a simple explanation of our development cycle -- I think that http://nvie.com/posts/a-successful-git-branching-model/ works well
  • our backup schedule, how to force a backup, and how to restore from a backup
  • the changes that we made to our Apache setup
  • other stuff I'm forgetting?

Make nice error pages

404 and 403 are most important. I think that these can be set up in Drupal.

It also would be good to have server error pages that Apache can serve when something goes wrong. Like how Twitter has the Fail Whale.

Make a dev environment

This site should use its own database (so that it doesn't pwn the normal site when we make changes). Ideally, there would also be a way for it to pull content from the main database so that we can test it with mostly-real data. Probably put this at dev.codethechange.org. Let me know if you need help getting the Apache virtualhost set up.

Get SSL Working

I believe that logins are, by default, not encrypted, which is probably bad. As a result, we should probably make the login page, at a minimum, SSL encrypted. Gandi provides certificates. There's a guide at http://wiki.gandi.net/en/ssl. I (Sam) filed the CSR already.

A guide on adding a cert to apache is at http://wiki.gandi.net/en/hosting/using-linux/tutorials/ubuntu/ssl

All of the files that you need are in /home/samking/ssl-stuff. They aren't all visible to everyone (for security reasons), so you'll need to sudo to copy them to where they need to go.

It will probably require some Apache configuration. Make sure that you don't do anything you can't undo in case you break the site.

Add mailing lists

Right now, our mailing lists are through Google. It might be better if they were internal to our Drupal site so that we managed our own folks, had data about them, and could personalize it.

Move to a New Design (Theme)

The menu also needs to dropdown.

Emin made a design that does this. It might need a few tweaks, but it's fairly good. However, it might be easiest to start with Zen (top theme at http://drupal.org/project/Themes) and modify it as needed.

Also, start committing to the github repo. Make a folder for the theme so that everything doesn't go into the top-level folder.

I imagine a fairly simple design. Something like ashoka.org or techchange.com where there's a logo at the top (eventually with a search box on the top right), a menu bar in a different color right below that, and the main page content (and sidebars and such) below that. And the footer and background shouldn't be too hard.

For colors, studies show that people like blue. Green and black are in our logo. Don't feel compelled to use any of those if you don't want to. I also want it to have an open feel, so avoid making the website look like a hacker's terminal or something.

Let me know if you have any questions on what the design should look like, and feel free to exercise your own creativity!

Make a central git repo

We should make it easy for people to use the git repo. Right now, only people with root access on the ctc.org can commit, which also means that all commits are done as root.

If we wanted to commit to never putting any secure information into the repo, we could keep everything in this public github repo. If we might want to commit secure information, we could host it on the ctc server, and we could associate each repo with the central one.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.