W6D1 ~ 2: MVP projects

MVP = Minimum Viable Product


For our first project assignment we were to make a working full-stack (front-end and back-end) MVP using any technologies. The point of the project was to see how efficiently we can utilize whatever we've learned over the past five weeks and come up with a compelling product. The only catch was... we had only 2 days! 1.5days, in fact, since it took half a day for them to kick-start and inform us about the project.

We were told that developers are infamously bad at estimating how long a project would take. Instead of over-promising to our future employees and regretting it later, we should under-promise and leave enough of a time buffer for any kinds of obstacles on the way to completion -- because nothing else matters other than having a completed product by the deadline, according to a former project manager, Bobby.

Makersquare's idea of coming up with a viable project idea:
1. Come up with an idea that you think you can finish by the deadline
Cut that idea in half
Cut THAT in half
You have your viable project idea


We all scurried to think of an idea and start working on our assignments ASAP. I've always wanted to make an app that allows the users to make a personal recipe book online, a personal menu of sorts, to keep record of what they are able to make and show their dinner guests. I chose to use HTML, CSS and the Angular framework for the front-end, Node and Express for the back-end.

I went to work alone in one of the "secret" MKS rooms on the second floor. It was a nice change, not having to pair-program. I reveled in not being around any distractions of being around others, and I was able to get a lot done in that short amount of time.

One of the problems I had was figuring out how to pass factories into controllers.
HEREEE


I was not able to implement a user sign-in page nor deploy my app to the heroku server, but I got all of the MVP functionalities running by the end. My home page was the actual menu itself, with a listing of all the entries that the user has added. The "Add entries" button in the navbar directed the users to a form with the fields of: entry name, picture (I was almost done implementing the picture upload functionality, but time ran out), meal type (drop down list of "appetizers", "breakfast/brunch", "desserts", "entree", "lunch", and "snacks"), country of origin, description, ingredients, and directions. Users were able to add more ingredients and directions as they wanted. Clicking on a individual entry in the menu directed users to another page with all the details of the menu entry, including directions, ingredients, and picture. In the last hour I hurriedly included a CDN (content-delivery-network) of bootstrap (a framework that makes styling easy) and a picture of a chef hat in my main HTML page in a last-ditch effort to make my barebone app look somewhat decent.

No comments:

Post a Comment