Final Project

Released Monday, July 22
Proposal Due Friday, July 26
Status Report Due Monday, August 5
Due Friday, August 9 at noon ET


  • Gain experience with designing and implementing a web application with Python and JavaScript.

Getting Help

If you need help while working on the project, feel free to take advantage of any or all of the following resources:


The final project is your opportunity to design and implement a dynamic website of your own. So long as your final project draws upon this course’s lessons, the nature of your website will be entirely up to you, albeit subject to the staff’s approval.


Before you begin working on your project, the proposal is an opportunity for you to run your idea or ideas by the teaching staff. By Friday, July 26, complete this form to describe your project and define your milestones.

Your project may be an extension to Projects 1, 2, or 3, so long as that extension is approximately equivalent in scope to the original project itself. You may also choose to create an entirely new web application for your final project.

Your teaching fellow may approve your project, or request modifications. You may begin working on your final project immediately, but know that your teaching fellow may request changes to ensure your project is of sufficient scope. Feel free to use the proposal as an opportunity to ask any questions you may have about the final project as well.

Status Report

To update your teaching fellow on the status of your project, fill out this form by Monday, August 5.

Getting Started

GitHub Classroom

We’ll again use GitHub Classroom to distribute projects and collect submissions. To begin the final project:

  1. Click here to go to the GitHub Classroom page for starting the final project.
  2. Click the green “Accept this assignment” button. This will create a GitHub repository for your project.
  3. Click on the link that follows “Your assignment has been created here”, which will direct you to the GitHub repository page for your project. It may take a few seconds for GitHub to finish creating your repository.
  4. In the upper-right corner of the repository page, click the “Fork” button, and then (if prompted) click on your username. This will create a fork of your project repository, a version of the repository that belongs to your GitHub account.
  5. Now, you should be looking at a GitHub repository titled username/final-project-username, where username is your GitHub username. This will be the repository to which you will push all of your code while working on your project. When working on the project, do not directly push to the web50/final-project-username repository: always push your code to your username/final-project-username repository.


In this project, you are asked to build a web application of your own. The nature of the application is up to you, subject to a few requirements:

  • Your web application must utilize at least two of Python, JavaScript, and SQL.
  • Your web application must be mobile-responsive.
  • In, include a short writeup describing your project, what’s contained in each file you created or modified, and (optionally) any other additional information the staff should know about your project.
  • If you’ve added any Python packages that need to be installed in order to run your web application, be sure to add them to requirements.txt!

Beyond these requirements, the design, look, and feel of the website are up to you!

How to Submit

Step 1 of 2

  1. Go to the GitHub page for your username/final-project-username repository (note: this is different from the web50/final-project-username repository).
  2. On the right side of the screen, click the Pull request button.
  3. Make sure that the “base fork” is web50/final-project-username, and the “head fork” is username/final-project-username.
  4. Click “Create pull request”.
  5. On the next page, click the “Create pull request” button again.

Step 2 of 2

Fill out this form!

Congratulations! You’ve completed the final project!