Day 54: Organizing the final project and computer science
The final (complete) week of the Bootcamp has just started, it feels crazy that time has gone so fast 💨 . Today we started class by creating a pull request to our development branch to have the las updates of what we have been working on this weekend.
After having the updated version 🙌🏼 , we divided the team on front end and backend, this helps us to have less merging problems as we don’t work on the same documents. The backend end team main focus was to have the routes of the login and sign 📋 in working and the front end team was the focus on creating the paths of displaying the information of the DB.
We manage to complete both assignments but when we merge some of the data wasn’t displaying, so tomorrow with fresh eyes we will try to solve it. We then continue with the class and we were introduced to some basic algorithms of computer science. 🧬
Some of these algorithms difference from others by the time and memory it takes to execute them. Some ways to test this is by using benchmarks, there is actually an npm package or use the O(n) “big o notation”. These areas I find actually really interesting, we were able to see a visualization of binary search and quick search and it is AMAZING! 🌟
Day 55: Group project updates and data structure
Today we started the class by reviewing the work from yesterday and we created a different pull request to have the last update👩🏼🚀. But, although our code was working independently and while merging it was working too it wasn’t really readable, also called “spaghetti code”. This means that each one has a different way of coding and, although right now we are currently having no problems to display the info 🗂, and this can end up giving us issues on the future.
So, we decided (thanks to the suggestion of my teacher), that we should clean our code and have some standards that are followed throughout all the code 📝. So, part of my work was to edit all of our routes so they follow the same structure, we decided to follow a way of creating paths by creating different folders 🔗 that are connected between them, we use index files so calling those files is easier.
Finally, I created I button that takes specific inputs that I will later update from the database, on the other hand, the team was working on displaying the front end of the login page. We still have to fix some problems we are currently having from the sign-in page but I am confident that we will solve them tomorrow ✌🏼.
Also, we had our last “theoretical” class of the Bootcamp 👩🏼🚀, in this class, we review data structures, which will make the execution, access, and update of our data more optimize. Some of the data structure 💡we viewed were stacks, queues, linked lists, and trees, each one of it had its own pros and cons, but definitely can make our code more efficient (we are not going to apply this type of data storage on JS)
Day 56: Continuing with the final project
Today we started by merging the last updates that we have been working by creating a pull request that all our team members checked to make sure we were on the right path 🗺. After doing this merge, we had some issues that were related to where a particular folder was being displayed so we had to change ✍🏻 that and merge again.
We continue executing our project by having part of the team working on the login and sign in page, that will display on the front end and update the DB 🗂 and I was working on the transaction of buying a product as a user 👩🏼💻. After having my code running I sit down with my teacher and he recommended me that I should make my routes more secure so the user cant modifies the information of the transaction.
Making these adjustments took me some time but I finally manage to pass some information to my back end that the user on the front end can’t see and therefore cant modify the information that is updated from the DB ⚔️. After having this running, we decided that all team members should have the same code so we can continue working on the last version. This has display some conflict that we plan to resolve tomorrow before we present our MVP to our teacher. Let’s keep coding 👩🏼🚀!
Day 57: Some retouches
Today we sat down with our teacher to review our current stage and discuss at will be our future stages to develop to have the app fully working 👨🏻🏫. So, we focus on finishing the login and sign up and redirecting the user to the page that displays product information. All of this will work only if the user submits the correct information 🗄.
On the other hand, we worked on the products page and displayed the points that a user had and manage to change that info from the database when the user buys a product 🛍. Right now this user is a “dummy” user but tomorrow we plan to use the cookie from the use that has a login and create a path so we can display 📃the information of that particular user that has been log in or sign up. We are getting close to the final day!
Day 58: Facing the issues
Today was going to be the day that we were going to connect the login page with the products page and by doing this, it will display the information of that particular user 🎉, but this step reveals some problems on our code 😳.
The first issue we had, was that we weren’t able to save the information of the login user when they went o another page or refresh and this made it practically impossible to display the information of it 🕵🏼♀️. The second issue was that, if we wanted to fix it we couldn’t because we all did parts of the code and couldn’t figure out which part was the one we need to adjust in order to have the solution👀. So, without expecting this, we had to rethink the strategy to address with the presentation of the project, so I decided to divide the work as we were all going to be working separately this weekend👩🏼🏭.
One of us will work on a version that only has one user, therefore we can manually display the information of that user 👩🏼. We will have this version as the safe version and we only use it in the case that after working on every possibility nothing works and we need something to present.
The next team member will work on the example of class, which has fewer technologies that the ones in our current app and is using another type of database than ours, but it keeps the user login. This way we will have the authentication 🗣 of the user but will need to search for other two technologies that we could apply to our APP.
Finally, I decided to study the example the team used with new technologies and try to make the changes needed to keep the user log in, this will unify our current code and be able to present it with the requirements needed 👩🏼💻. After all of these situations, this can only help us to learn about mistakes and…..
FOR ANY PROBLEM THERE IS ALWAYS A SOLUTION