Module 7 Welcome Pack
Welcome to Module 7! This repo is meant to hold some convenient links for you to use during your capstone projects but this should not be treated as the canonical source of truth for curriculum, requirements etc. Note that this is a living document. Things will be continuously changed and updated as needed but capstone requirements WILL NOT change.
⚠️ IMPORTANT NOTE: If you are checking this out before your first capstone week officially begins please make sure you are keeping your pre-capstone project your top priority. All of this should be considered secondary until that project is done.
Module Calendar
Phase 1 - Project Approval
Capstone Project Proposals
You must submit this form and get approval from your the Mod 7 team before starting any work on your capstone project. Any work you do while waiting for approval may have to be completely re-done based on TA feedback. With all that said, don't over-complicate your capstone, this is a 2 week project and the stakes are high! This will be due second day of capstone before lunch.
⚠️ IMPORTANT NOTE: If you are checking this out before your first capstone week officially begins you are welcome to fill out this form but you will have to fill it out again on Monday / Tuesday officially.
[link will be made available when you officially start module 7]
Project Proposal Form (March 2022)
Github Wiki Example Links
User stories, Database Schema, Features, Wireframes are required.
- Example User Stories (CRUD format)
- Example Schema (3-6 tables for MVP Schema)
- Example Features (2 MVP CRUD features and 2-3 bonus features for post-graduation)
- Example Wireframes (screenshots ok if cloning / if not full wireframes required)
Projects We've Seen Go Well
Here are some capstone project ideas that tend to be associated with success in the observations of the TAs, but of course they are not a garuantee of success. Please note these are in no particular order and you are absolutely not required to choose one of these projects. This list may guide your thought process as much or as little as you feel is appropriate.
E-Commerce Apps
For e-commerce apps, a shopping cart would only be considered a core feature, if it has full CRUD functionality. This means that the shopping cart is connected to the database and have its own table. If you would like to implement the shopping cart in the local storage, you would need to create an orders (history) feature with full database CRUD functionality.
Projects that can look fantastic without AWS:
- Todoist (Remember the Milk but with a more modern UI)
- Amazon (Cart can't be an MVP CRUD feature, Reviews & Orders suggested)
- Etsy (Cart can't be an MVP CRUD feature)
- New York Times Recipes
- Untapped
- Trello
- Air BnB
- Medium
- Quora
- Evernote
- HipCamp
- Eventbrite
- Yelp
Project that we strongly suggest have AWS:
- Flikr
Projects We've Seen Students Struggle With:
- Discord (AWS optional)
- Soundcloud (AWS strongly suggested)
- Spotify (AWS strongly suggested)
- Venmo (AWS optional / CRUD features are tricky)
- Robinhood (AWS optional / CRUD features are tricky)
- YouTube (AWS strongly suggested)
- Netflix (AWS optional / CRUD features are tricky)
- Game Apps (AWS optional / CRUD features are tricky)
- Disney + (AWS optional / CRUD features are tricky)
- E-commerce websites with shopping cart
Appropriate Project Themes
When picking your capstone project theme use common sense and think about it from the perspective of a recruiter and your future job coach. Our goal is not to censor your creativity or discourage you but we do have an official policy on appropriate project themes linked below and we encourage you all to check it out. Recently the most common issues are with projects related to weed / cannabis. We can't approve projects related to these themes because of federal legality, but that doesn't mean you can't pursue these projects after capstones.
Phase 2 - Project Development
Daily Standups
Daily standups will take place between groups of 3-5 students from your circle. Each student will take roughly 5 minutes to screen-share their deployed app and code. Specific standup times will always be announced in your circle channel. TA's will ask students a small handful of questions while taking brief notes that are shared with the rest of the module 7 team as well as the PTMs and the Career Quest team.
Questions for Students:
- When did you last deploy?
- Is all the code you are showing deployed?
- What progress did you make on your goal from yesterday?
- What is your goal for today that you plan to complete before next standup?
- Does your lead circle TA approve of the goal?
- What is your project status in terms of user stories?
Other Standup Notes
- If technical questions come up your circle TA will ask you to put them into the lecture questions channel asap as we will not have time to debug during standups.
- TAs will take notes regardless of whether your standup check in seems like it went well or not.
- TA notes will include whether you met yesterdays goal fully / partially / not at all.
- TA notes will also include 3-5 word description of your goal for tomorrow.
Lecture Questions Emoji System
Because the TA's are asked to answer all questions asynchronously when possible and because capstone issues can often take hours to address the TA's will use slack reaction emojis to communicate the status of your question. Please pay attention to these emojis and consider them official communication. If it seems odd to take emojis seriously welcome to the tech world!
👀
The eyeballs mean the TA's are aware of the question and are looking into it / discussing it in the Staff Room. There may be other questions ahead of yours and it make take time to resolve the question based on the complexity of the problem and how clear the question was, if screenshots or commits were provided etc.
✅
The green check means that a TA or the student has confirmed that the question has been resolved. If this isn't correct tag one of the TA's in the thread or re-post the question.
☑️
The gray or blue check means the question seems to have been resolved by a TA or other student but is awaiting some form of confirmation.
⚠️ or ❌
The alert emoji means the question may not be specific enough or may not show clear evidence of independent student research on AAO, Stack Overflow, Google etc.
Before the TA's can effectively address the question the student will need to add more information, full-screen screenshots, a description of what you have done so far in terms of research and solution attempts and/or a link to the repo with a recent commit message clearly describing the issue.
Once you have added to the question tag the TAs or re-post a new version of the question in the lecture questions channel.
Good Question Template
To ensure the quickest possible response to a question you are encouraged to literally copy, paste and fill this out when asking a question in slack. The Mod 7 team may ask you to do so if it seems like it might help expedite answering your question.
- What are you working on? (give us some context)
- Describe the problem (what are you trying to do? what is it currently doing?)
- What error messages do you have?
- What have you done to debug? What have you searched/tried?
- Relevant code snippets/screenshots (crop, mark-up, or explain them)
FAAQs | Frequently/Any Asked Questions
An informal and very incomplete list of somewhat common and / or unique problems observed by the Mod 7 TAs during capstone project development.
Some Useful Development Links
- Flask Project Starter (from module 6)
- Express Project Starter (authenticate me)
- Flask-SQLAlchemy Quick Reference
- Flask AWS S3 for Image Uploads
- Flask Websockets for Chat Features
- Helpful Heroku Tips
- Easy Modals Using React Context!
- HAWA: easy wiki doc generation for Routes and User Stories
Phase 2.5 - Peer Review
Peer Review will start on Thursday of the first week of capstone everyday after lunch, at 12:30 PT / 3:30 EST. This can also be viewed on the Mod 7 Online Google Calender as well. Students will get assigned a pair, posted to Slack everyday, to review each other's code. Below are guidelines to help illustrate how peer review will work.
This exercise is helpful to practice remembering what your code does for when an interviewer or coworker asks you to explain parts of your code. Also this helps you practice articulating your code which will majorly help you in interviews and on the job!
Steps:
- Choose who goes first. You each get 30 minutes and have a timer set up.
- Find a part of your code to walk through.
- Could be a part you are proud of, something new, your redux store, your routes, your components, your CSS, etc...
- Could be something you are only partially done making and then go into some basic "pseudocode" of what your next steps will be.
- Try to stay focused on code you do have, though. If your partner has a solution for a problem or something, it’s ok to discuss if it’s quick and write down notes (or plan to meet up afterward).
- Begin walking line by line, explaining the work flow of your code.
- You don't have to start at the very beginning of each file, but could choose which parts to go through.
Things to consider:
- This IS NOT time to debug or code.
- Both sides are responsible for getting equal time to review.
- Students are responsible to give and receive constructive feedback and commit to the exercise.
- IA’s will be jumping in rooms periodically to check progress and could possibly ask questions!
Tips:
- Write down notes of things you notice about your own code.
- Mistakes, things you missed, things you want to change, etc...
- Pay attention to the way your partner has coded things.
- Seeing how others code can give new ideas! Or solve a problem you already have!
- Ask clarifying questions of your partner when they are explaining.
- Take notice on how your partner read and understood your code so that you could gauge your work’s readability.
- If your partner did have a hard time reading a line/snippet of code, be sure to add comments to those to help you understand your code in the future.
- Take feedback as something constructive and helpful for improvement.(On the flip side, be aware of how you present constructive feedback) 3. Please use code-centric instead of human-centric language. (refer back to AOO Week 2 Day 2 “Empathetic Communication” for a refresher!)
Phase 3 - Pregrading / Grading
Projects will be pre-graded the Thursday of the second week of capstone development. Our grading process will be identicle to the final grading process and students will recieve pregrading scorecards. There are no requirements associated with pre-grading and it is expected that your project will not yet be passing but it is ideal for you to have your project nearly complete so we can point out minor edits / corrections that will make your project passing the following Monday when projects are due. And if your project passes at pregrading all you'll have to do is not break your site over the weekend!
Note: you DO NOT have to create your own scorecard, the Mod 7 team will do this for you.
Passing Capstone Help
Helpful styling tips
https://docs.google.com/document/d/1VkeCDf12jokoTdriQycheyfnlfdc-qypDXsxCO5tqNk/edit