Skip to content

wdi-sf-jan/project-1-specs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

#WDI - Project 1

FIRST PROJECT DESCRIPTION

It's time to put everything that you've learned in the past month together!

For the first project you will use your knowledge of JavaScript, HTML, and CSS to build a fun game or application, that can be used by friends, family or any of the other billions of people who use the Internet. The idea for the application you create is your choice.

The objective of this project is to:

  • Apply the skills you've learned by building a game or application from the ground up.
  • Demonstrate mastery of topics covered during this course so far.

You will be working individually for this first project.

Prove to yourselves you've learned a ton in these first three weeks, and show us what you've got!

CORE REQUIREMENTS

Make sure to do all of the following with your app.

  • Completion Do less if you must, scope it well, but finish the app or game, so you may demo it next Friday to your classmates and so that anyone can use it.
  • State Management Think about what states your application or game goes into, and figure out a way to represent that cleanly, so that if we read your code, we may immediately see how the state transitions happen.
  • OOP You may start with spaghetti code, and most of you will, but strive toward better code organization with OOP. Remember, it's not about having many objects, but rather objects that maintain the state of the application/game and have specific responsibilities. Think back to the drag race weekend lab and our discussions about it. Try to work on separating the user's input from the state management. Remember the game loop vs the event handling?
  • DRY Don't repeat yourself. Think about how to put repeated functionality into functions. Each function you write should do one thing really well, and not have too many side effects.
  • Data. Your app should use LocalStorage or SessionStorage to persist data
  • jQuery Your application must use jQuery (this can be for DOM manipulation, AJAX, animations or anything else)
  • Deployment. Deploy your code to Github Pages / BitBalloon. You need to be able to share this!
  • Styling Your app/game should be styled using CSS best practices.

CHALLENGE ADD-ONS

If you want to push yourself and learn something new, optionally consider doing some of the following with your app:

  • JavaScript Libraries - Check out this list of JavaScript libraries you can add to spruce up your app. Make sure that if you pick one of these, there're very good reasons for doing so, and that you understand and can clearly explain why you had decided to use the framework.
  • Use Phonegap - If you want to build a native mobile app with just HTML, CSS, and JS, check that out.
  • Mobile Responsive - If phonegap is too much, try to make your app/game work and look good on devices of all sizes (you can do this using media queries alone, but using a CSS framework with a grid system will make your life much easier).
  • Front-end CSS Framework. - Use either Twitter Bootstrap or Foundation, to kick-start your front-end.

PLANNING & DELIVERABLES

####Project Plan deliverables:

  • Scope. What are you planning to build? What features will it have? What do you reasonably think you can implement in a week? If you run out of time, will you have a working app/game without completing all that you meant to implement? Try to think of the minimal feature set your site needs in order to function. Get that working first, then focus on new features.
  • Wireframes. Sketch out what a few of your core screens will look like and how they will work. Paper works great. You can also check out wireframing software like Gliffy or Omnigraffle. But, we strongly suggest starting with paper or a whiteboard, because you are then much less married to the outcome, can make quick revisions, and not worry about learning yet another tool when you already have very limited time.
  • Milestones. Outline some milestones for yourself based on how you prefer to work.

####Completed Project deliverables:

  • Link to your app/game hosted on Github Pages / BitBalloon
  • Link to your source code on GitHub

TIMELINE

  • Friday, January 30th - Communicate your app ideas to an instructor. Be ready to talk about the scope of your project. Before beginning work on your project, your project ideas and the scope of your potential project must be checked-off by an instructor. You will begin working on the following before and after project idea check-offs.
    • A plan for your screens
    • A well-defined and written out feature list
    • A written Minimum Viable Product (MVP)
    • A list project milestones
  • Thursday, February 5th - Deploy your code to Github Pages / BitBalloon by the end of the day. It is not important how much coding you have done at this point; deploy whatever you have, and make sure that it's completed. Deploy to Github Pages / BitBalloon frequently to make your life easier.
  • Friday, February 6th at 9:30am - Project #1 Due and presentations

WHAT WE ARE LOOKING FOR

Code Quality Make sure that your code is:

  • Well-commented
  • Follows javascript coding conventions where appropriate
  • Well-formatted (2 spaces of indentation per code block)
  • Small commits pushed to github frequently. The commits should focus on a single change. Avoid large commits that deal with many distinct changes to the code.

We'll also be looking at:

  • Quality of communication around decision-making. Can you defend why you chose a certain technology or why you implemented your solution in a certain way?
  • Your ability to pick up new technologies and push yourself

Wireframing Resources

Project Managment

MVP and Milestones

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published