Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialPeter Smith
12,347 PointsOrganizing Larger Projects
Well I'm starting to plan out a project that involves a database, some php to query the database, HTML5/CSS for the structure and style, jQuery for interactions.
I'd say it's a medium sized project. I'm wondering if anyone has thoughts on planning out the various parts of the project. I'm specifically clueless about planning out the functions in php/jQuery, like planning out get/set functions, etc...
Hoping some here will have links that share wisdom or first hand experience with planning out their projects.
1 Answer
Ricky Catron
13,023 PointsPlanning is such an important part of any project. My first step is always an outline of what features I'll need. I usually use a Trello board to keep myself and any teammates organized. I put down the feature, how I want to accomplish it and then begin writing a pseudo code(English explanation of what I want it to do).
Then I pick the best database for my project if your using SQL there is a good database comparison here.
Then I write the actual code (PHP or JavaScript for you) in functions to accomplish what I need to do for each feature. Break this part down into steps each function should only have one task and hopefully be reusable. I usually push my code to a remote Repo with git so I can work from multiple different computers. Github or BitBucket would work for this but BitBucket has free private repositories.
At this point I will start designing the look of the site on paper. Get the look I want, pick my colors and images and then start building!
I usually work up from the HTML, add the PHP to make sure the whole thing works as expected. Style it with CSS, and finally add any JavaScript I need.
That's my basic workflow!
Goodluck! --Ricky
Peter Smith
12,347 PointsPeter Smith
12,347 PointsRicky,
That sounds awesome! Think there's a way of sharing what your Trello looks like? I'd be really helpful to see how you organize features, what your pseudo code looks like, etc...
(also, would mark this as best answer however that button seems to be missing today).
Ricky Catron
13,023 PointsRicky Catron
13,023 PointsMy Trello usually has categories like: Features(explanation of features as a comment, maybe have team vote?) Bugs(things wrong I need to fix right away, make sure to note error and fix when found) ToDo( a simple list of what I need to get done and the order which will work best) Finished(Anything done gets moved from ToDo to here so I can see how much I have accomplished)
and maybe a few others depending on the project.
My Pseudo Code is very simple usually but very detailed: An example of a search bar would be: Take input from user Filter out potentially bad input aka SQL injection or other hacks Attach search term to SQL search query on specific db Retrieve results from query Iterate through results (make sure to escape output aka another kind of check for vunerabilities) Display results to user
Goodluck! --Ricky
Ps there is no Best Answer in General Discussion because everyone has a different opinion.
Peter Smith
12,347 PointsPeter Smith
12,347 Pointswell there IS a best answer here. It's yours. I appreciate your sharing.
A few of the things you do in Trello, like features and bugs, I do in GitHub. It's helpful though to know how you work. I suppose I'll do the pseudo code elsewhere (or maybe in a gist?) but I guess I'm intimidated because I haven't done it before.
Ricky Catron
13,023 PointsRicky Catron
13,023 PointsRemember you don't have to do everything with a fancy tool. For design or Pseudo code I prefer paper and a pencil.
I do need to move more of my workflow to git instead of Trello but for now it serves my needs.
Thank you for your compliment.
Goodluck! --Ricky