ME(A)N Lab

Prompt

This is an open-ended group lab! It is up to you and your teammates to come up with a project idea. It must, however, fulfill the following technical requirements...

Technical Requirements

Your application must be ME(A)N. This includes...

  • Using Express to handle HTTP requests and serve API endpoints.
  • Using MongoDB has your database.
  • Using Mongoose as your ORM.

Your app must have CRUD functionality for at least one model.

Your app must be deployed to Heroku.

Bonus I

Add a second model to your application, which is nested under the first.

Bonus II

Add Angular to your application stack. Express should only handle your root view as well as your API routes. Angular should take care of the rest via ui.router.

Bonus III

Allow the user to log-in using Twitter.

Bonus IV

Allow the user to log-in using a third-party service other than Twitter (e.g., Facebook, Spotify).

Groups

You will be working in groups of at most 4 students. We will leave the group selection up to you. Feel free to do so after the lab has been introduced.

Keep In Mind

KISS (Keep It Simple, Silly), and don't re-invent the wheel!

You may have noticed by now that many of the apps we make in this class are very similar. Some have Artists and Songs, others have Posts and Comments, but they're more-or-less the same concept.

This isn't a WDI thing: it's a real-life thing! A tremendous number of apps follow the same structure.

If you keep this in mind it greatly simplifies the process of making something. You can take any of the walkthroughs and examples provided to you in class and turn them into something that looks completely different. A Honda and a Porsche are both pretty much the same thing inside.

The app you make today probably will not be the magnum opus that defines you as a developer for the rest of your life, so don't put that pressure on yourself. Be silly, and have fun!

Some ideas

  • URL shortener
  • A Stack Overflow-style question/answer page
  • Recipe / ingredients manager
  • Competitive Cookie Clicker
  • Image tagger

Asking For Help

Instructor support today will be exclusively through the Slack "Tech Support" channel and Github issues on this repository (with the exception of previously-scheduled 1on1s). We will respond as quickly as we can, but there may be a delay of 30+ minutes occasionally due to scheduled meetings. Existing resources -- Google, lesson plans, and other students -- are your best bet.

Remember: we're gradually releasing responsibility. You're not paying us to hold your hand; you're paying us to make you help you make yourself a marketable programmer!

Lab Submission

Please submit an issue to this repo by Thursday, April 14th at 5PM with...

  • A link to your lab repo.
  • A link to your deployed application.
  • Any questions you would like answered by the instructor grading the lab.