Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
ThinkUp Developer Guide
Welcome! You are a programmer! The ThinkUp project eagerly welcomes new contributors from all communities, even if you don’t think of yourself as a programmer. (Yet!)
By helping ThinkUp, you can help government run better. While anybody can use ThinkUp, the very first customer for the platform is the White House, which will use responses collected on the platform to make better policy decisions.
Get started improving the program by following a few simple steps:
- Create a (free) GitHub account or sign in with your existing account
- Create your own copy of ThinkUp by clicking “Source” and then the “Fork” button
- Then, in your copy of the code, browse to the file you want to modify, and click “Edit”
- Make some changes! Describe what you’ve done in the “Commit Message” box, and then click on the “Commit” button
- Go up to the top of the page and click the “Pull Request” button — this tells our project leader Gina that you’ve helped make ThinkUp better!
Congratulations! You’re part of the ThinkUp community, and your contribution will be immortalized in the history of improvements and changes to the application.
How to Contribute to ThinkUp
Whether you’re a beginner programmer or experienced veteran, here’s a collection of resources to get you started contributing to ThinkUp.
- ThinkUp Source Code documentation — Familiarize Yourself with ThinkUp’s Objects and Interfaces using our PHPDocumentor-based, auto-generated source code docs.
- Developer Guide: ThinkUp's Model-View-Controller Implementation — See how ThinkUp implements the MVC design pattern.
- Developer Guide: ThinkUp for Beginners by a Beginner
Get Set Up
- Developer Guide: Manually Installing ThinkUp for Development Purposes — To contribute to ThinkUp, you want to manually install the files direct from the source repository.
- Developer Guide: Get the Source Code from GitHub and Keep It Updated — Here’s how to install the ThinkUp app for use and development.
- Developer Guide: Setting Up Eclipse PDT — Not sure what IDE to use? Here’s how to set up Eclipse to work with ThinkUp. It’s free and cross-platform.
- Developer Guide: Git Tips
- Developer Guide: File Naming Conventions — Know where to save and how to name your files.
- Developer Guide: How to Change the Database Structure — Modify the data structure.
- Developer Guide: Data Access Objects (DAO's) – Design your data access objects.
- Developer Guide: How to Write Great Unit Tests — Test-driven ThinkUp development best practices.
- Plugins: Developer Guide — Get started with plugins.
- Design Patterns — Frontend design/UI patterns to follow.
Submit Your Work
- Developer Guide: Pull Request Checklist — All done? Run through this checklist before you issue a pull request.
There is much to do. Here’s a list of ThinkUp projects and tasks:
- ThinkUp To-do List — We’ve got a long to-do list, and they’re kept in GitHub’s Issue tracker. Found a bug? Post it to the mailing list, then, once verified/discussed, it will be added to the project Issues tracker.
- ThinkUp Documentation — Right here in this wiki, we need your keeping pages up-to-date, gardened, and formatted well. Be bold but not reckless.
- ThinkUp Roadmap — This page describes planned new features, and needed upgrades.
- Google Summer of Code Ideas Page — We’re a Google Summer of Code project! That means we’ll be getting help from some of the best and brightest new coders on the scene to help with projects on the Google Summer of Code Ideas Page.