You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

9.2 KiB

Project #2: Building Your First Full-Stack Application

Overview

You will have the option of chosing between creating a wiki or a forum (details for these are in seperate markdown files in this folder). You will be creating a full stack application using everything that you've learned in Unit 2. You will be working individually for this project, but we'll be guiding you along the process and helping as you go. Show us what you've got!

Technical Requirements

Your app must:

  • Meet the specific requirements specified in the individual project markdown
  • Include separate HTML / CSS / JavaScript files
  • Use Node.js, Mongoose, and Express.
  • Stick with KISS (Keep It Simple Stupid) and DRY (Don't Repeat Yourself) principles
  • Deploy your application online, where the rest of the world can access it
  • Use semantic markup for HTML and CSS (adhere to best practices)

Project Markdowns

Wiki

(seperate markdown file with directions)
Henrietta is a business magnate and wants to create an internally facing wiki for her organization. She wants her employees to be able to write articles in order to inform colleagues about their insights.

Forum

(seperate markdown file with directions)

Suggested Ways to Get Started

  • Wireframe Make a drawing of what your app will look like on each page of your application (what does it look like as soon as you log on to the site? What does it look like once a user logs in, etc.).
  • Break the project down into different components (data, presentation, views, style, DOM manipulation) and brainstorm each component individually.
  • Use your Development Tools (console.log, inspector, alert statements, etc) to debug and solve problems
  • Work through the lessons in class for help and inspiration! Think about adding relevant code to your application each day - you are given 7 days so that you can work on it in small chunks, COMMIT OFTEN. We will be looking at your commit dates and comments are part of your scoring.
  • Commit early, commit often. Dont be afraid to break something because you can always go back in time to a previous version.
  • Consult documentation resources (MDN, jQuery, etc.) at home to better understand what youll be getting into.
  • Dont be afraid to write code that you know you will have to remove later. Create temporary elements (buttons, links, etc) that trigger events if real data is not available. For example, if youre trying to figure out how to change some text when the game is over but you havent solved the win/lose game logic, you can create a button to simulate that until then.

Deliverables

By the time the project is over, we will expect the following from you:

  • A working application, built by you, hosted somewhere on the internet
  • A link to your hosted working app
  • A git repository hosted on Github NOT inside your wdi-remote repository. Frequent commits dating back to the very beginning of the project
  • A readme.md file with explanations of the technologies used, the approach taken, a link to your live site, installation instructions, unsolved problems, etc.

Most importantly a technical demonstration of your app which:

  • Is 5 minutes in length
  • Shows off all features of the app
  • Explains the technical details
  • Explains the technical challenges
  • Explains which improvements you might make

Project Feedback + Evaluation

  • Project Workflow: Do you have a Github respository for your project (not inside your wdi-remote repo)? Did you complete the user stories, wireframes, and the README.md file as specified above? Did you use source control (Github commits) as expected for the phase of the program youre in (detailed above)?
  • Technical Requirements: Did you deliver a project that met all the technical requirements? Given what the class has covered so far, did you build something that was reasonably complex?
  • Creativity: Did you add a personal spin or creative element into your project submission? Did you deliver something of value to the end user (not just a login button and an index page)?
  • Code Quality: Did you follow code style guidance and best practices covered in class, such as spacing, modularity, and semantic naming? Did you comment your code as your instructors have in class?
  • Deployment: Did you deploy your application to a public url using GitHub Pages?
  • Total: Your instructors will give you a total score on your project between:
    Score Category Expectation Expectation Expectation Expectation Expectation
    6 Project Workflow Do you have a Github respository for your project (not inside your wdi-remote repo)? Did you complete the user stories and are they in your Github issues (2 points) wireframes README.md with specified information source control with Github (commits)
    6 Technical Requirements Did you deliver a project that met all the technical requirements? (discussed in your MVP (a score between 1-3 will be given)) Given what the class has covered so far, did you build something that was reasonably complex? (complexity will be given a grade 1-3)
    2 Creativity Did you add a personal spin or creative element into your project submission? Did you deliver something of value to the end user (not just a login button and an index page)?
    2 Code Quality Did you follow code style guidance and best practices covered in class, such as spacing, modularity, and semantic naming? Did you comment your code as your instructors have in class?
    2 Deployment Did you deploy your application to a public url using GitHub Pages?
    2 Technical demonstration Is 5 minutes in length & shows off all the features of your app. Expalins technical details, technical challenges, and any improvements you might make.
    Maximum possible points 20

Project Week

Attendance

You are required to be present by 10:00 am EDT each day during the project.

Standups

We will have student-run stand-ups each morning at 10:15 am EDT where you will answer the following questions:

  • What did I work on yesterday
  • What am i trying to get done today
  • What is preventing me from getting this done.

This meeting should take no longer than 15 minutes.

If you have ideas on how you can help a fellow-student with work that they are stuck on, please follow-up with information AFTER the stand up.

Meetings with instructors

Your instructor will contact you to setup a meeting time

Friday, June 24
Work on your MVP and an initial wireframe in the morning. You will have a 15 minute meeting to get your project approved.

Saturday & Sunday, June 25-26
Work on your project. Come prepared with any questions for Monday morning.

Monday, June 27
15 minute check in to see where you are with your work over the weekend.

Tuesday, June 28

Wednesday, June 29
Lesson on Heroku deployment

Thursday, June 30
15 minute check in to see progress decide whether to move forward with or abandon stretch goals.

Friday, July 1st
Submit your issue by 10 am EDT and present your project.

Where to go for help during project week

  1. Seek out help online
  2. Seek out help with your classmates
  3. Seek out help with Derek (TA)
  4. Submit a Github issue on the wdi-remote class Github account to receive help from an instructor

Formatting your GitHub Issue for wdi-remote to ask for help

PUSH OFTEN! Your code on GitHub should be up to date. Submiting an issue and linking us to old, out-of-date code will hinder the process.

  1. WHAT YOU ARE TRYING TO SOLVE:
  • Write a detailed explanation of the feature or user story you're working on.
  1. DETAILED DESCRIPTION OF THE BUG/ERROR:
  • A detailed description of the problem, the bug, and/or the error. This means: the full steps to reproduce, a link to the file on github, and the line number of where the relavent code is. The error(s) returned, copy and pasted/typed out/screenshot, not paraphrased.
  • If there is other code in a different file that is also essential to the functioning of the code that currently works point us to that and explain the relationship.
  1. WHAT I'VE TRIED
  • List everything you've done to solve the bug on your own in detail. list all resources you've looked up and tried to implement and provide links. Providing code if you have it surrounded by the md syntax to display nicely is very helpful.
  1. QUESTION
  • After going through all this what is your questions specifically, more specifically than how can I make this work?

Useful Resources