Skip to content

Instantly share code, notes, and snippets.

@shannonjen
Last active May 15, 2022 17:28
Show Gist options
  • Save shannonjen/f0b48196a91399f6a80e725725767f87 to your computer and use it in GitHub Desktop.
Save shannonjen/f0b48196a91399f6a80e725725767f87 to your computer and use it in GitHub Desktop.
g79 Q3 Project Draft

Frontend Framework Project

After each section of our course, we will ask you to come up with a project to build that demonstrates what you've learned this far in the course. This is your chance to choose something you are excited about to spend time on!

Requirements

This project will incorporate a backend API and a frontend built with a frontend framework.

The frontend requirements are as follows:

  • You MUST include a CSS Framework such as Bootstrap or Materialize.
  • You MUST include some client-side validation.
  • You MUST store some data in Local Storage.
  • You MUST allow for users to be able to interact with the site.
  • You MUST use React.js, or another front-end framework.
  • You MUST have a separate project directory (and GitHub repository) for your frontend.
  • You MUST deploy your site.
  • You MAY use Redux and Routing.

The backend requirements are as follows:

  • You MUST follow RESTful patterns.
  • You MUST use an opinionated architecture (e.g. MVC).
  • You MUST include error handling.
  • You MUST store data in a database.
  • You MUST have a separate project directory (and GitHub repository) for your back-end project.
  • You MAY have at least one One-to-Many relationship and one Many-to-Many relationship between entities in your model.
  • You MUST deploy your server.
  • You MAY have a User entity.
  • Your API MAY support user authentication (a.k.a., "login" / "sign-in").
  • You MAY utilize a 3rd party API.

To successfully complete the project, you also MUST:

  • Use a linter or style-guide for code quality
  • Make multiple commits with readable commit messages
  • Include a readme with installation instructions and screenshots
  • Add your project to an online portfolio
  • Present your project to your class

Suggestions

Based on your skillset thus far you should be able to build just about any kind of application or game. Consider existing websites and platforms that you could build a new version of. For example:

  • A new social media application
  • A velocity tracker for a student's accomplishments during class
  • A volunteer matcher for opportunities at local charities
  • A food truck map that allows users to comment and review
  • A food pantry tracker and recipe suggestion application

FAQ

What if what I want to build doesn't meet the requirements?

Talk with your instructors and see if what you want to build would fit most of the requirements. We are more interested in you building something you're excited about than checking off boxes.

What if I can't think of anything to make?

Speak with your classmates for ideas. If you can't think of anything, your instructors will assign you a project.

What if I can't think of a second idea or really want to do my first idea?

Great! Put together two project proposals please. :)

What if someone else is building the same thing?

That's OK! If you're both set on your project ideas, work with your instructors to make sure they're at least slightly differentiated. It is unlikely you'll come up with a 100% unique idea but that doesn't mean you can't make something amazing and personalized from you!

Getting Started

Start by creating two project proposals to submit to your instructors. You can find a template here:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment