Lesson Tuesday

Over the next two Fridays, you'll rebuild a site of your choice using Angular. First, you'll plan your application and build its basic functionality. Next, you'll add a database and deploy your application online. You're also welcome to add bonus functionality to your application such as routers, APIs, authentication, pipes and route guards.

Choosing a Site to Rebuild

Before this Friday, take some time to determine which site you'd like to rebuild. Here are a few criteria to consider:

  • Make sure you choose a site that can be divided into multiple components.
  • Your project will need to have a working database so the site you choose should include data that isn't hard-coded.
  • Ambitious projects are welcome but don't take on too much. For instance, building a social media clone or an Angular RPG might be too ambitious. (Feel free to check in with your teacher if you have something particularly ambitious in mind.)
  • Most of all, choose a site that you find appealing and interesting. Your goal is to make this a portfolio piece you can share with potential employers.

Here are a few possibilities:

You may also want to check out the list of Angular sites in Introduction to Angular for more ideas.

How is this Code Review Evaluated?

This code review is designed to encourage your creativity, build your problem-solving skills, and give you free reign to build a portfolio piece. In order to give you additional flexibility, you will primarily be evaluated on strong documentation around your work process (as opposed to specific technical objectives).

  • You will be expected to put in eight hours of well-documented work between 8 AM and 5 PM both this Friday and next Friday. You are welcome to put in additional work into the project outside of class time.

  • Your commit history should include a commit at least every half hour. Make sure to commit even if you haven't completed functionality. If you want a clean commit history afterwards, you can squash commits using git rebase.

  • You should craft and document your plan before beginning to code. Keep in mind that you may not know how to build some functionality until next week; however, you can still include these features as part of your plan. You may also continue to modify your plan if it changes. Your README should clearly document all features you worked on, including features you weren't able to complete. The README should also include setup instructions and a link to the live site.

  • Your project should include the following:

    • Well-separated components
    • A working database
    • Live deployment

Students that submit projects with poor documentation or otherwise insufficient evidence of a full day's work will be marked absent for that Friday and expected to resubmit with an additional eight hours of well-documented work.

If you have questions about the feasibility of your project idea, check in with your teacher.