Capstone requirements

Objective: By the end of this checkpoint, you can write a proposal for this fullstack capstone.

This module guides you through designing and implementing a fullstack capstone, which will demonstrate your mastery of React and Node. For this capstone, you’ll build both the client and the API to support the app. The capstone project is meant to be something that you share with prospective employers, friends and family. In short, it’s your opportunity to showcase what you’ve learned.

In this first checkpoint, we’ll go over the audience and requirements for the capstone and take a look at some example projects.

At the end of this checkpoint, you’ll complete 1 assignment:

  1. Write a statement describing your project idea and the name for your app.

Who is this project for?

As a developer, your goal is to build something that works and that people want to use. This is true no matter which field you specialize in. Capstone projects exist for you to gain experience doing this.

There are 2 primary audiences that you need to keep in mind as you design and build your capstone. The first, and most important, is always the user. As you make decisions about the scope of your project (i.e. what features to include) you need to consider what’s most important to the person using the site, which might not be the same as what’s most interesting to you as the developer.

The other key audience to keep in mind is prospective employers. Ultimately, the goal of this project is to help you get hired as a web developer. That means thinking about what type of projects and designs will stand out to hiring managers.


The final version of your app will need to meet the following requirements:

  • Your app must be a fullstack app using React, CSS, Node, Express
  • The client and API should be deployed separately and stored in separate GitHub repos.
  • Both client- and server-side code must be tested.
  • Your app must be responsive 
  • All code must be high quality, error-free, commented as necessary, and clean.There should be no errors in the console.
  • The UI must be well polished and components must be well defined .
  • The content of your app must be clear and readable.
  • You must have comprehensive README files for both GitHub repos.
  • Your app must have a landing page that explains what the app does and how to get started, in addition to pages required to deliver the main functionality.
  • You must deploy a live version of your app.
  • Your app must work across different browsers (Chrome, Firefox, and Safari at a minimum)
  • If you choose to include an authentication system in your app, you must set up a demo user account and indicate on the landing page how to use it.


Come up with a statement for your app idea and a potential app name. They should clearly communicate what the user does with the app and what problem it solves.

  • Use the stack you’ve learned in this course You’ll need to create a full stack web app that uses React on the client and Node/Express for the API (and we’ll keep the client and API in separate repos, and deploy them separately)
  • Keep in mind time constraints You have a finite amount of time to complete this project.It better to have a complete small app than an incomplete big one
  • Make something appropriate for your portfolio and the jobs you’re targeting Keep in mind your ultimate goal in taking this course: landing your first job as a junior web developer. Your final project should be something that will convince hiring managers and potential clients that you have what it takes to create great fullstack web apps.Also be mindful not to alienate potential employers in the space you’re targeting.

If you already have an idea for an app that you know you were destined to build, great! If not, it’s time to get out a pen and paper (or the digital equivalent: open up a document on your computer) and start listing out ideas.

If you’re having trouble getting started, here are 2 questions to get you started:

  • Can you think of an unsolved problem that you could solve with an app?
  • Is there an existing app that you like but think you can improve on? Remember, Facebook was preceded by MySpace!

Give yourself some time to brainstorm, listing any idea that comes to mind. At the end h your list and choose one that you find interesting.

When you’ve got your statement, copy and paste it into a Gist and submit a link to the Gist.