Unit #4 Project: Your Portfolio Project

Overview

You’ve come a long way, and it's time to show it. This project should be your magnum opus of WDI. If you put in the effort, it'll hopefully be the one you want to show off most prominently in your portfolio.

You get to call the shots and invent your own idea, choosing tools that are appropriate for what you want to build. Pull from everything you've learned so far, and tackle something that'll push you a little outside of your comfort zone.

Make sure you review your project proposal with your squad leader so you can make sure it's something you can accomplish in the limited time we have, and make sure it's something that'll be impressive visually. Sometimes people do judge a book by its cover – or an app by its design. Submit your idea to your squad leader for approval along with any initial planning documents via Slack by 10am Monday.


Technical Suggestions

Your app must:

  • Be a complete product, which most likely means multiple relationships and CRUD functionality for at least a couple models
  • Implement thoughtful user stories that are significant enough to help you know which features to build and which to scrap
  • Be deployed online so it's publicly accessible
  • Contain a README and a planning directory that describe your process, your product, and your plans.

Pre-deployment checklist

  • Add the deployed URL to repo settings
  • Add a readme with:
    • An embedded screenshot of the app
    • Explanations of the technologies used
    • Installation instructions for any dependencies
    • Link to your user stories – who are your users, what do they want and why?
    • Link to your wireframes – sketches of major views / interfaces in your application
    • Descriptions of any unsolved problems or major hurdles you had to overcome

Hints and Suggestions

  • Don’t get too caught up in too many awesome features – simple is always better. Build something impressive that does one thing well.
  • Design first. Planning with user stories & wireframes before writing code means you won't get distracted changing your mind – you'll know what to build, and you can spend your time wisely by just building it.
  • Don’t hesitate to write throwaway code to solve short term problems.
  • Read the docs for whatever technologies / frameworks / APIs you use.
  • Write your code DRY and build your APIs RESTful.
  • Commit early, commit often. Don’t be afraid to break something because you can always go back in time to a previous version.
  • Keep user stories small and well-defined, and remember – user stories focus on what a user needs, not what development tasks need accomplishing.
  • Write code another developer wouldn't have to ask you about. Do your naming conventions make sense? Would another developer be able to look at your app and understand what everything is?
  • Make it all well-formatted. Are you indenting consistently? Can we find the start and end of every div, curly brace, etc?
  • Comment your code. Will someone understand what is going on in each block or function? Even if it's obvious, explaining the "what" and "why" means someone else can pick it up and get it.
  • Write pseudocode before you write actual code. Thinking through the logic of something helps.

Potential Project Ideas

Q&A App

Think of how helpful sites like Quora & StackOverflow are. Maybe there's some other niche, or some surprising twist you can add to the question-and-answer game.

Car Repair Log

Keep up with your vehicle as you commute every day to your final weeks of WDI save things like mileage, last inspect, oil changes, and maybe even receipts & important document you need to have backed up.

Email-like Messages

Imagine a realtime messaging client, but with private messages, an inbox, unread messages, and who knows what else. This is your chance to re-invent email as we know it.

Here is the GA gallery of exceptionally awesome WDI projects from all over the world! - https://gallery.generalassemb.ly/WDI


Resources


Support + Issues

Support will be provided exclusively through issues submitted to this repo. Please reference this readme or this lesson for suggestions on how to formulate an issue.

Presentations

Presentations will be done in a science fair format on Friday, September 15th. Stay tuned for a schedule.

Project Feedback + Evaluation

Instructors will not be grading this project. We want you to use this final project as your centerpiece as you apply for jobs.