Project Overview
The capstone project is one of the most important pieces of landing the perfect LaunchCode apprenticeship. This project will be one of the biggest ways that the LaunchCode evaluation team will verify that you're job-ready, and it should be something that you're proud to show off to a potential employer in an interview. So don't skimp on the time, energy, and thought that you put into this!

This is your opportunity to be unique, innovative and creative. This should be project that you conceived on your own and executed from start to finish. If you plan to use a project that you worked on with a group or at a bootcamp class, please come to the interview prepared to articulate the specific functions that you designed and programmed. We look for for projects that:

Demonstrate marketable skills: You have strong foundation in one of the languages from the skills milestone, and the related tools and best practices.
Demonstrate your ability to learn new things: You've gone beyond your initial learning to teach yourself something new. Maybe you learned Angular.js for your front-end web project, or customized the UI components of your mobile project.
Demonstrate utility for a company: In order to land that perfect job, a prospective employer will want to know that even as a relatively new programmer, you're capable of creating high-quality work for them.
Put your project up in GitHub. This will make it accessible for others to view, and will show off all of hard work you put into it as you rack up commits!

Here are some project ideas, along with potential features to get you started. You don't have to choose one of these; in fact, if you have another idea that you're passionate about, go for it! These project ideas are meant to give you an idea of the type and scale of projects that LaunchCode is looking for, along with giving practical project ideas that any learner at this level can tackle.

Regardless of the project you tackle, your project should:

Build an application entirely yourself, or nearly so. If you use "starter code" or a group project, you need to go well beyond what's already there, and be able to clearly articulate what you built yourself versus what was built or provided by others.
Include 3-5 killer features. The example projects will give you an idea of what constitutes a solid feature. Adding a new button to your web project? Probably not significant to count as a feature. Adding user login to your project? Yep, that's great!
Your Front End Web Project
Your front-end web project should demonstrate all of the great skills that you've learned to-date, along with a few new ones that you'll learn along the way.

You likely haven't learned much about back-end programming, and that's okay. If your app needs to store data, you can use HTML5 Web Storage, or you can create a stateless project ( that is, one that loses its data when the page is refreshed).

If you are comfortable with a back-end language, feel free to set up a back-end for your project and connect it to a database, but keep the majority of your work focused on the front-end, as that's what you'll want to shine brightest.

Core objectives:
Create web pages
Required: HTML, Enhance with CSS
Build a great user interface (UI)
Required: CSS, Optional: Enhance with Bootstrap
Add functionality (i.e. 5 features)
Required: JavaScript, Optional: JQuery and/or AJAX
Enhance user experience (UX) with a front-end framework
Required: Use one of React.js, Ember.js, Angular.js
Project examples
E-commerce site: display products and enable purchase

Feature 1: user management (registration, login, etc.)
Feature 2: gallery of items (view and select items)
Feature 3: shopping cart (save items for later)
Feature 4: checkout (purchase saved items)
Feature 5: payment API
Map application: access map APIs and display areas of interest

Feature 1: map of the location (google Map API)
Feature 2: search interface for areas of interest (Yelp API, or FourSquare)
Feature 3: display areas of interest on map
Feature 4: display information about location on mouseover
Feature 5: provide directions from user location?
Calendar application: display an interactive calendar

Feature 1: user management (registration, login, etc.)
Feature 2: display calendar
Feature 3: display different calendar views
Feature 4: display user created events
Feature 5: save user calendars
Time Commitment
The time to complete your project will may vary quite a bit from our estimate of 150 hours. You should focus on making a great product, and on hitting the objects listed above. In addition, as you go through the LaunchCode application process, our evaluation team may have some suggestions on how to make your project even better.