Skip to content

Instantly share code, notes, and snippets.

@thuyanduong
Last active July 20, 2022 15:47
Show Gist options
  • Save thuyanduong/d9dc004ef03e833e684b4370aa6edb3b to your computer and use it in GitHub Desktop.
Save thuyanduong/d9dc004ef03e833e684b4370aa6edb3b to your computer and use it in GitHub Desktop.

Foundations Capstone Project

Welcome to the Project Build portion of Summer Capstone 2022! 🥳 🎊 🎉

Know that your Marcy Lab Family is proud of the work you've put into getting to this moment of the program, but above all else, you should be proud of yourself! This journey is not yet over. In fact, the hardest part is yet to come. Because one last time, we are asking you to push yourself harder than you've ever pushed yourself before. If you are doing this right, you should be focussed and productive as a group for 6 hours during school hours every day. In addition, you should be working an additional 2-3 hours after school every day, and you should be working an additional 4-6 hours every weekend.

Overview

In many ways, this Capstone project is going to feel like another Demo Day project. But in other ways, it's going to feel different. The goal of Capstone is to make sure each and every one of you is undeniably job ready. As such, we want this project to build out your skills in the following ways:

  1. You will work together in a group with other Marcy Lab fellows using Agile methodologies.
  2. You each will take ownership for building out a specific set of full-stack and full-CRUD feature work.
  3. As a group, you will attend stand-up with your Project Manager (Associate Instructor) every day.
  4. As a group, you will check-in with your Capstone Advisor (Mike Cronin) twice a week, 1-hour each time. You will use this time to give project updates and receive a live Code Review.
  5. You will be demoing your progress in front of your peers and the Marcy Capstone Staff every week.

Project Requirements

As a group you will be building a full-stack application with the following requirements:

  1. Your front-end must be a React project that uses Context API as the primary state manager.
  2. Your styling must come from a pre-built CSS library.
  3. Your back-end must be an Express API that is organized into routes, controllers, and models.
  4. Your database must have at least four entities (database tables) and must have at least two one-to-many relationships.
  5. As a stretch goal, you can add additional database tables or incorporate any additional technologies that was not part of the Marcy Lab core curriculum. However, your priority features must be full CRUD on all on your database entities before you are allowed to work on your stretch goals.

Here are some examples ERDs for web applications with four entities:

Feature Building and Individual Contributions

While the goals of this project involve working together as a group, it is your goals and our goal that you are all job-ready on an individual level. Therefore, it must be your individual goal to contribution high-qualty code directly pertaining to the technical curriculum taught at The Marcy Lab School. As such, the process in which you build your full-stack web application must meet the following additional requirements.

  1. Choose one entity that you all will commit to building out together as a group. If you have a Users table, we highly recommend that you choose this entity to implement together.
  2. The key deliverable for Project Build Week 1 is that everyone in the group must build out full-CRUD and full-stack features for this entity together. If you choose your Users table for example, as a group, you will build out the full-stack functionality to create a new account, view a user's profile, edit a user's profile, and delete a user's account. You will pair program off one screen at a time and take turns driving. It’s important that each group member understands all the code for this week because it will set you up individually for success.
  3. Each group member will be responsible for implementing full-CRUD, full-stack features for one other entity.
  4. For example, Person1 builds out all features for Posts. Person2 builds out all features for Comments, and Person 3 builds out all features for Friends. During this phase, you should work with each other and lean on each other, but ultimately, you are responsible for coding out both the front-end and back-end features for your entity. You must be the person committing the code for those specific features.

Schedule and Weekly Objectives

Week Focus Weekly Objectives
July 11th - July 15th Project Scoping and Proposal Submit a high-quality, detailed Project Proposal
July 18th - July 22nd Wireframing and ERD Domain Modeling Submit a collection of high-quality, detailed technical planning documents
July 25th - July 29th Project Build Week 1 As a group, complete full-stack, full-CRUD features for one entity
August 1st - August 5th Project Build Week 2 Complete full-stack, full-CRUD features for all entities
August 8th - August 12th Project Build Week 3 Integrate all full-stack features together for a seamless user experience
August 15th - August 19th Project Build Week 4 Polish your application and implement stretch features
August 22nd - August 26th Case Study Writing As a group, document your technical journey in a Technical Case Study
August 29th - September 2nd Presentation Prep As a group, prepare a presentation on your Capstone Project

Key Deliverables and Deadlines

Assignment Due Date
Project Proposal Fri, July 15th
Wireframes and ERD Fri, July 22nd
Complete feature work for one entity Fri, July 29th
First Technical Blog Fri, July 29th
Complete feature work for all entities Fri, August 5th
Publish First Technical Blog Fri, August 5th
Complete MVP Fri, August 12th
Second Technical Blog Fri, August 12th
Polish and Deploy App Fri, August 19th
Publish Second Technical Blog Fri, August 19th
Case Study Writing Fri, August 26th
Project Presentation Wed, August 31st
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment