I intended to update this at least once a week but somehow, the last 2 weeks have totally flown by. I decided to try to do a quick recap while I watch the Grammys (which have largely been very uninteresting thus far).
This was our first real “full stack” app and it taught me a lot about the Model-View-Controller, why we even use Express and Node, the benefits of NoSQL databases like MongoDB and more. I appreciate that the different components (model, view, and controller) all have segregated but important roles and provide essential functionality to software and web applications. Very simply put, the Model handles the “data”, the View outputs information from the model, and the Controller interacts and updates the model and is used by the user. MVC was a term I heard a lot but did not understand at all until I actually used it for building Fullstack applications using Express and Node. Our Wikistack app allowed users to view and search pages, add new pages, editing existing pages, and find similar pages using tags. It was not a particularly complicated concept which allowed us to focus on our code and learn how to build a functional web application.
The end of Week 3 and start of Week 4 included an assessment on Express.js and Mongoose (the ORM we used for MongoDB). The assessment helped me realize I have learned a lot more than I probably realize and also more clearly understand how Test-driven development works (we were given tests and then wrote code that passed those tests).
Week 4 included a few different topics while still continuing to build web apps with Mongo, Express, and Node. We had a workshop on testing where we wrote tests to test our Wikistack application. I did not previously realize that people wrote tests for web applications; I kind of assumed they just went on the website and tested it by testing out the different functionality. I realized you can actually write tests that simulate HTTP requests and also tests that see if your database functions as expected. We then moved on to a more unrelated topic- HTML5 and CSS. We designed our own version of the Bootstrap front-end framework using SASS. I had a little bit of CSS experience but not a lot, and no experience using a CSS preprocessor like SASS so this workshop taught me a lot. I also learned more about responsive design and using media queries to change the design of your website for different devices and screen sizes.
At the end of the week, we designed a “Trip Planner” website that included a Google map and different hotels, activities, and restaurants for users to use. So far, we only designed the website and the backend database and did not implement any functionality (we will be doing that this coming week). Eventually, we will make a website people can actually use to plan a multi-day trip in NYC’s financial district where they can choose where they will stay and what they will do each day and those activities will be added to the map, The design of the Trip Planner taught me more about web design and again helped me practice my HTML and CSS skills, as well as using Swig to generate dynamic HTML pages and using Express to build web applications.
I am excited to continue getting better at using Mongo, Express, and Node to build dynamic websites and eventually integrating Angular.JS as well.