Skip to content

sf-wdi-44/final-project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 

Repository files navigation

WDI 44 – Final Project

Read this entire document before writing a line of code.

  • Project Planning Deliverables – DUE FRI, MAY 25 (EOD)
  • Completed Planning Deliverables – DUE FRI, JUNE 1 (10AM)
  • Presentations – DUE FRI, JUNE 1 (11AM)

Contents


Overview

What is this project?

You’ve come a long way, and it's time to show it. This will be your most advanced project to date, and it'll hopefully be the shining beacon of bragging rights for your portfolio as you make your way out into the world of web development.

You call the shots, choosing a tech stack and tools that are appropriate for what you want to build. Use everything you've learned so far, and tackle something that will push you outside your comfort zone.

Be strategic. Make sure you are planning to build something you can accomplish in the limited time frame we have (~6 in-class days, as well as weekends). Just as importantly, make sure it's something that will be visually impressive by the time you present.


Pro Tips

What should I focus on?

Planning:

  • Work on a product you want to build, and choose appropriate technologies to build it.
  • Pitch your idea to your instructors and peers, and incorporate their feedback.
  • Don’t get too caught up in awesome features. Scope appropriately, so you can finish a complete and impressive-looking project.
  • Design first. Planning with wireframes and well-defined user stories before writing code will keep you focused. You'll know what to build, and you can spend your time wisely by just building it.
  • Keep user stories small and well-defined, and set milestones and deadlines to ensure you stay on schedule.

Coding:

  • Commit early, and commit often. Don’t be afraid to break something, because you can always go back in time using Git.
  • Be consistent with your code style, and write well-formatted and readable code (INDENTATION INDENTATION INDENTATION).
  • Write pseudocode before you write actual code. It helps to think through the logic before coding the functionality.
  • Commit production-level code that is well-documented, easy to understand, and a delight to read.

Requirements

Your application must:

  • Be full-stack and use a database – with a back-end and front-end that you yourself have built.
  • Be deployed online so it's publicly accessible.
  • Be a focused and complete product, which likely means multiple resources with CRUD functionality and an MVP feature set.
  • Handle errors gracefully, and provide useful feedback to users when errors or validation failures do occur.
  • Provide a logical user flow and pleasing user experience.
  • Be stylistically impressive – up your CSS game to give your portfolio that extra polish and professionalism.

Above and Beyond

What if I want to do more?
  • Implement login – you could even implement 3rd party authentication to allow users to login using their credentials from other services.
  • Incorporate a 3rd party API to add data and functionality to your application.
  • Test critical components of your code.
  • Recruit real users for your app.

Deliverables

What will I be turning in?

Project Planning Deliverables

- DUE FRI, MAY 25 (EOD)

Review the following with your instructors BEFORE coding.

  • Scope: What are you planning to build? What can you reasonably implement in the given time period?
  • Wireframes: Sketch out your core pages – what they'll look like and how they'll work. Consider a paper prototype to demonstrate or test user flow and experience.
  • Data Models: Draw out your models and their associations in an entity relationship diagram (ERD).
  • User Stories: Who is your user? What features will your app have? Remember – user stories say what a user needs from your app, not what development tasks you have to tackle (e.g. "A user should be able to login", not "Use passport to allow a user model to create and destroy sessions"). Write your user stories using Trello or another planning tool that works for you.
  • Milestones: Divide your work into 3-5 major sprints, each with their own deadlines, to keep you on track. Make sure you prioritize the essential features for your MVP and get your app's core functionality working before moving on. Keep a log of stretch goals that can be saved for when your core functionality is in, or even for a later iteration – don't let the bells and whistles distract you from working on your MVP.
  • Feasibility Study: If you're using an external API or scraping a website, make sure that it is appropriately accessible and reasonably straightforward to work with it. If you're using a new language, framework, or tool, go through introductory tutorials before throwing it into your code. We will ask to see your results.

Final Deliverables

– DUE FRI, JUNE 1 (10AM)

  • Working full-stack application, hosted somewhere on the internet (most likely Heroku).
  • Links to your hosted app and Github repo in the Project Submission Doc
  • Github repo that has frequent commits with intuitive commit messaes dating back to the beginning of the project. It should have a link to your hosted app in the website URL section at the top of the page, next to your repo description.
    • A README.md file with:
    • Link to your hosted app.
    • Paragraph-long description (or elevator pitch) of your project.
    • List of technologies used.
    • List of installation and setup steps for the app itself and any dependencies - how would another developer run your site locally?
    • Link to user stories
    • Link to wireframes
    • Link to entity relationship diagrams
    • List of unsolved problems or future features.

Presentation Guidelines

– DUE FRI, JUNE 1 (11AM)

What should I cover during my presentation?

Final project presentations should be no longer than 10 minutes and cover the following questions:

  • What was your motivation to build this project? (WHO, WHAT, WHY)
  • What is the core functionality of your app?
  • What is one feature you're particularly proud of? (show code)
  • Who helped you on this crazy final project journey? Give them a shout out!

Feedback

How will I get feedback from instructors?

You'll be receiving feedback in a 1:1 meeting with your instructors the day after your presentation.

  • Project Workflow: Did you complete the user stories, wireframes, ERDs, and task-tracking, as specified in the project specs? Did you effectively use version control?

  • Technical Requirements: Did you deliver a project that met all the technical requirements? Did you build something that was reasonably complex with the technical knowledge you've gained in the course?

  • Creativity: Did you add a personal spin or creative element to your project? Did you deliver something of value to the end user?

  • Code Quality: Did you follow code style guidance and best practices covered in class, such as indentation, spacing, modularity, and semantic naming? Did you comment your code and document your project?

  • Problem Solving: Are you able to defend why you implemented solutions in a certain way? Can you demonstrate that you thought through alternative implementations?

Releases

No releases published

Packages

No packages published