Day 44: Working on project 2 sign in and image display
So today was dedicated entirely to the project ✌🏼, as we are presenting it tomorrow and we need to have the last updated version of master. We started early morning with a stand-up session, where each team member shared what she worked through the weekend 🥇. We then solved some front end issues and linked all the pages together.
There is still work to be done to do on the log-in & sign-in section 📌, that I hope we solve by the end of today before we present tomorrow. But definitely, we are on the right track and I hope we continue developing this platform.
Day 45: Project 2 presentation
Today was the day we presented and I have to say that we face a lot of problems due to a late merge from our codes. It was really stressful seeing how our work wasn’t working when we were merging all together 👩🏼💻. This is something that our teacher has told us so many times, that we shouldn’t wait until the last moment to merge because our code could be different.
But after a lot of console logging, error managing and help from our TA We manage to do a demo for the class 📊. In order to do so, we had two different DB listening in different ports so the dB couldn’t get confused and it will still load the result.
I have to say that it was a stressful day and we had to face ups and down but I always thought that we needed to stay as a team and solved these issues 🚀. I definitely have learned a lot throughout the process and probably will not make the same mistakes in the future.
We finally introduced to Mongo 🥭 another type of DB (NoSQL) with a more flexible structure than MySQL, tomorrow we will start using and I can wait to discover its potential
Day 46: Mongo DB and scraping
Today we continue learning about MongoDB, we install it using homebrew and we had MongoDB running in a separate terminal so we could have a port were our Mongo creations could be executed 😎. We did a couple of exercises where we created a database, inserted collections, documents, and fields. At the beginning as everything 🧐, it was a little bit confusing as we had to write everything using the terminal and modifying your code on a js shell can be a little bit challenging.
We then change the course of the class to a topic that I found really interesting and that was “scraping”📡 or taking data from a website. Before considering taking data from a particular website is important to first check the robots.txt of that particular page so you can see what paths you are not allowed to scrape from ⚒. For doing this technique we issued cheerio and Axios helping us getting information from the frontend of a website similar to when we used jquery.
Lastly, we created API routes that we could connect to our MongoDB database and display it in HTML pages ⚙️, it was similar to the way we used to do it in our SQL database, which made it really easy to understand and connect.
Also, at the end of today, I went to a Whiteboarding Wednesday, where out teacher and alumni from our Bootcamp meet to review and practice whiteboarding problems and it feels great ✏️! I learned about maps and how it can make processing the information when searching for information much quicker 0(n) cant wait to continue learning in this field!
Day 47: Mongoose, the sequelize of MongoDB
Today we finally were able to deploy our website to Heroku, you can check it out here, I feel really a relief and cant wait to start the next project 💡. Then, the class started and we reviewed what we are learning with MongoDB and we were introduced to mongoose package. This package can help us create validation of the data that will be stored into our DB, for doing so, we create schemas. We also utilize the JS values such as Strings, Numbers, and Booleans that we then equal to that value.
One of the advantages of using mongoose is that you can “join” different collections or tables together by creating references between them 📲. In order to show the result of this “joint”, we need to do a .populate() with the name of the element 🔦 we want to populate and execute it when we are calling db.tablename…,
Finally, we worked with some methods that we can use before we introduce the values on our DB, this can help us when we are establishing logins or doing calculations with the data. Then, at the end of class, our teacher 👨🏫 commented that tomorrow we will start seeing ES6 and all the new possibilities there are, can’t wait to discover more.
Day 48: Intro to ES6
Friday arrived, and the week went so fast ✌🏼! Today we started class with the introduction of ES6 🚀, that has a slightly different syntax to the one on ES5. We first practice fat arrow functions(=>) 🌟 and reviewed the issues with the context and the property methods, then we worked with lets and const. These last concepts are similar to variables but have different properties, and we need to be careful when doing hoisting 🤹🏻♀️and be aware of the function scope as it might not be able to be reached.
We then continue the class with a review of the truthiness and falseness inside JS and the possibilities we have when using “||” and “&&” ✍🏻. This was really interesting when checking if something is truthy in an if statement. Also, we learned about the ternary operator that can make a selection of one or another element base on the state of that particular value and it will display like this.
let example = true; const checkingExample = example ? "The example is true":"The example is false"; console.log(checkingExample); //This will console "The example is true"
We then continue the class with functional loops and the attributions of “.forEach”, “.map” and “.reduce”, that are extremely useful when working with arrays 🗄 as they can execute specific functionalities without the necessity of writing more lines of code. Finally, we continue with object destructuring ⚒, letting us update and search parameters inside an object differently and the functions of exporting and importing. All of these is setting the bases for us to learn react, which I am extremely excited to learn!
Can’t wait for next week 👩🏼🚀!