WEEK 9

Project: Final week

Introduce the content

Building the last part in API

This week I spent hours working on my API. I finished the sort, filter, and pagination. My request was through a new GET by RequestMapping asking for params. It was a big question I had; How I would get the data when by the frontEnd someone clicks a button?. I could answer by searching and asking. Someone told me about the params and I find too many options. After a few days, I could build a Get with all the parameters I need. I found how to get the values of my LinkedHasmap, then I made a list that I modified by filters, sort, and pagination.

The sort made me feel frustrated many times. I looked at and read websites and videos. I When I tried something I had Errors coming and I couldn't understand what was wrong. When you build a simple program the debugging could be fast by the terminal, with spring and maven I have a big block of errors coming by Postman or the running console. It's a pretty different method to figure out the error. I found it helpful to google the error, but sometimes the result it's too general. I imagine when you get more practice programming you start understanding better the Error and the debugging method. In this case, I learned the difference between a mutable list and an immutable. All this time I thought the comparison function had something wrong but it was the function sort, which needs a mutable list to work. When I asked for help they checked the indata, the out data and the error. It's something I would do the next time.

Another situation I had was connecting the Backend (BE) with the frontEnd (FE). I used Axios in the frontend for GET and POST. I had a bad_Request Error wich I couldn't fix by myself. I thought it was the data I received so I looked at ways to change the data/date in some paramaters. After few hours, I decided to ask someone else. When we were in the meeting, we tried few things. First, we identified if the error was coming from the BE or FE. We used print states to check if the request was reaching the GET in the BE. At the end, we visualized it was from the FE. We did some console logs until figure out what the Error means. It was something simple and silly. The URL needs the http:// before the port and the parameters.

Back to the Top

Building the last part in frontEnd

When I returned to work in the Frontend, after a few weeks concentrated in the BE, I was a little lost with react and my code. Some of the components and the data I needed where confused. It means I need to work more organizing my code in React. I understand it's becayse I was learning React. Well, I'm still learning.

I had some blockers connecting the backend service to the frontend service. The first time I put the wrong URL. On other occasions, the parameter I sent was different than expected. I feel the most difficult thing I'm learning is to understand the Errors message. I'm going to look for ways to use try and catch. It might help me to go fast when something is broken

The last situation I had with the front end was the use of useEffect and useState, the hooks. They were so helpful to build activity in my FE, both I see my use of them is limited for my understanding. One thing I would like to improve is the data traffic I'm making with my API request.

Back to the Top

Hyperskills

This week I have worked in HyperSkills a little. I don't think I learned something new because the course drove me to introductory Java Content. Because I had the ending of the project I couldn't finish the whole advance I wanted to do.

Back to the Top

Summary

I learned a lot with this project. I feel it as a steep hill. I know I move my knowledge about programming to another level but is still I have a long way. If this would be a marathon I might be in the last position. I feel tired, I spent more hours trying to understand than making a big approach. Anyway, I believe in small and consistent movements. I can say at least I finished this marathon. It's coming another and I'm a little nervous. However, I'll do it again, until I can feel more confident with all these new requirements in the projects.

I'm glad to have this opportunity and I'm going to make a difference for myself when It is done.