It’s Not Raining – Final review – “I’m Sorry ” Entry

--Originally published at That Class Blog

It’s Not Raining – Final review – “I’m Sorry ” Entry
“It’s Not Raining” by B&~(B) https://creativecommons.org/licenses/by-nc-nd/4.0/

Today we officially delivered the project at the Engineering Expo. There we presented our project to some judges and fellow students. Well, usually the explanation was for the judges, and the students would come just to play the game and try to get through the last level and put their playertag in the leaderboard.
I have to say that my score will be (Or already has been) overcomed by anyone who has a just a fraction of eyes to fingers reaction. What I’m trying to say is that even after one semester of development, I’m so bad at the game… After more than 1 hour playing level 4, I surrendered, and assumed that I could go trought all the levels in 2 hours, more or less, and then I pushed my score to the DB, manually. I think I deserved to be in the leaderboard of the game, even if I couldn’t put it there usiang legal abilities.

But now, onto my kinda semester retrospective.

I feel that overall this smesterI learned a lot about WEB development using NodeJS. In my WEB Development class project I learned about front-end frameworks, back-end development and deployment, different ways to make requests to de server, implementation of MariaDB queries on the server’s routes and the delivery of JWT and local storage.

What I learned in that class was useful for me, so that I shouldn’t need to worry about how to do all of the back-end development on this project, and instead focus on enjoying  more the project, setting up Mongoose and MongoDB and designing server tests. I found out that I could really have fun doing those three new things because I didn’t worry at all for the rest of the stuff.

Mongoose and MongoDB were a first time experience for me. From designing the connection “raw” to mLab, to implementing Mongoose for testing and quality of data, to migrating to MongoDB Atlas because the Tec wouldn’t let us use mLab (Because reasons?), and finally updating and designing new schemas and models. It was fun, because it was new and it felt that I trully had time to do some research so I could write some clean and functional code.

And about testing, that was still fun, but it got difficult at sometimes. I’m proud beacuse I pushed myself on designing more specific tests, with more functionalities (such as hooks and a dummy DB, so the real DB wouldn’t be polluted). After I thought that i couldn’t make the API requests tests more complicated, I decided to use the same testing framework to create a scrip for level testing and designing. And that was really complicated, to change a JSON file and see the changes on the DB without restarting the server.

At the end, I think we all delivered what we promised. And I think that every member of the team did their best to do their assigned tasks but also helping each other.

It’s Not Raining – Final review – “I’m Sorry ” Entry
“It’s Not Raining Score” by B&~(B) https://creativecommons.org/licenses/by-nc-nd/4.0/

Okay, so now it’s the time where I extremely regret the moment I decided to procastinate the publication of both the posts on week 10. Supposedly at the end of the semester I have to had delivered a grand total of 30 blog entries, 2 per week. And I currently have 26 blogs. That means that if my “I’m sorry entry” (This final review is my “I’m sorry”) could be exchanged for those two missed blogs I was talking about,  I would have credited 28 blog entries… I don’t know how could I achieved 30. Maybe Ken took into account the Spring vacations (Semana Santa). But if it’s another reason, I have nothing to ammend it, so I will accept the consecuences.

Still… It was a great semester, with a great project and a nice team.

Miguel Montoya
Epseranto enthusiast
ʕ•ᴥ•ʔ

Late TODO week 14

--Originally published at That Class Blog

Okay, so this week is movie production week! Yay, I guess. It means we are mostly done.

I still owe a level. I’m getting into it. But the most important thing this week is to develop our promotional video. Decide what to include and what to tell. And yeah…

Cherrio

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ

No level – End of Week 13

--Originally published at That Class Blog

So previously (TO-DO) I committed to doing 3 issues. And sadly I just accomplished 2 of them. According to myself, I completed the two most important issues, and I left the boring and “difficult” to deal with one. And I’m talking to the creation of level 5. I didn’t have time for its development, and it’s also so booooooring and tiring to try and match the size of the figures to the ones I have in mind.

No level – End of Week 13
“Undone” from Wayne Stadler (License: https://creativecommons.org/licenses/by-nc-nd/2.0/). Taken from https://www.flickr.com/photos/waynerd/5125189682/

But now, onto the stuff that I actually did.

The first issue consisted in creating the Mongoose schema to hold the texts that some levels have. It should hold the texts in multiple languages. This part was easy. in fact, it is the shortest schema we have.

The second issue consisted in simply updating the Mongoose schema of levels. This meant only changing the text field with a boolean (Because the text now is held in the level-text document). This was also very easy.

So, what wasn’t easy? The middle ground of this two issues. This consisted in updated the server routes. Make a new route to deliver the text of the level. Make the BD connections for this level to be fetched. Make the HTTP requests from the client to the server. Update the way the level is loaded and decide whether or not a fetch for the texts is needed. And the worst of it was: Updating the level development script so you could modify both the level document and the texts document at the same time.

I realized after doing the issues that I actually didn’t know where one ended and where did the other begin. This is because there was some stuff I needed to develop to test both of the issues. And before fully testing one of them, I needed to test the other, and to do that I needed the middle ground I didn’t know to which issue assign it to.
And that is why I think I should have done 3 issues (one for the middle ground), and then everything would have fitted perfectly. In fact, maybe a fourth issue was needed that would consist in updating everything that we already have (BD, tests and level development), to accept the new format and schemas.

And that is all for now.

Cheerio.

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ

International Game – TO-DO Week 13

--Originally published at That Class Blog

Okay, so now I have again stuff to do! Yay! 3 issues to be exact! 2 that I guess i’mgoing to like, and 1 that I must have. This week, and remaining sprint will be focused in incorporating multiple languages to our game. So my 3 issues are mostly related to that.

International Game – TO-DO Week 13
“Mini Rockefeller Plaza” by Sunny Ripert (https://creativecommons.org/licenses/by-sa/2.0/). Taken from https://www.flickr.com/photos/sunfox/5084842773
  1. Update the level schema and already uploaded levels, so that they have only a boolean property called text. If true, the level loader must get the level data.
  2. Create a new schema, for the level texts. It must contain all the languages for the texts of the level.
  3. A new level. it will be level 5.

Yay!

Miguel Montoya
Esperanto Enthusiast
ʕ•ᴥ•ʔ

I need something – TO-DO Week 12

--Originally published at That Class Blog

I need something to do.

I have no issues.

I’m sad. ب_ب

I need something – TO-DO Week 12
“Han’s Solo 2/2” by Gerry Dulay (CC BY-NC). From https://www.flickr.com/photos/gerrysnaps/14083936239/

This time I don’t know what else to do. And I can’t think of any ideas like last week when I did the new enemy.

Gerardo asked me to change the size of the texts in level 1. So I plan to do that. But I mean, that will take me less than 5 minutes to get all the texts to look nice.

I guess I can make some updates to the database. I realized that the level where I implemented the new enemy didn’t make it properly to the DB. So I will get my hand into that.

Well… cheerio.

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ

Ups… TO-DO Week 11

--Originally published at That Class Blog

Okay okay… Now I don’t have an excuse… If you haven’t noticed, I missed a complete week. Week 10. Why? I could tell you many excuses, but those wouldn’t be completely true. What really happened is that I didn’t plan a moment to write both blogs and neither I dedicated a lot of my time to the project. That is the truth. Now I will tell you that the reason for my reduced interest in the projects that I had another pair of projects to dedicate my urgent attention. And then our one-week break made thing worse, making me forget completely about the work I was missing.

Ups… TO-DO Week 11
“Accident!” by clement127 (CC BY-NC-ND). From https://www.flickr.com/photos/clement127/16117406137

But that will change this week. I will finally implement the new enemy. I will try to touch as little as much as possible the code that my partners have made. As they have mostly dedicated the front-end and the game itself, and I have been working only in the back-end and testing.

If I can make it work changing the level JSON data, would be nice.

Chers!

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ

Something different: TO-DO Week 7

--Originally published at That Class Blog

This week I’ll be working with two issues that aren’t quite as similar as the previous work I’ve done.

Something different: TO-DO Week 7
“Dare to be Different” by Tamás Éberhardt (CC BY-NC-ND). From https://www.flickr.com/photos/tomtata/8060928920

First (GitHub issue):

I’m going to be working in the design of a third level. I’m so bad when I play the game that I hope I won’t make anything very difficult or very easy, because it’s possible I won’t be able to pass it alright.

Second (GitHub issue):

This is the responsibility this week that I’m excited for. I’m going to develop an enviroment where the level designer can test its level without needing to upload the level to the server, and the removing it and so.

Sprint 2 it’s over: End of week 6

--Originally published at That Class Blog

Sorry for uploading this week’s blog one day later. But I’ve been sick and yesterday was the worst of it. PLEASE, DON’T VACCINATE WHILE YOU HAVE THE FLU, EVEN IF THE MEDICS TELL YOU IT WONT AGGRAVATE YOUR CONDITION.


Last week we finalized the second sprint. It was a hevier sprint, for all of us. But progress and effort is getting reflected in the project. we are happy.

Sprint 2 it’s over: End of week 6
“Sprint” by Denis De Mesmaeker (CC BY-NC-ND). From https://www.flickr.com/photos/2ni/223990159

This last week, as I mentioned in the previous week, I mainly worked regarding two new issues. First, to create a database dummy for testing and applying hooks during testing. Second, to develop new tests applying the new features, such as hooks, for the new features (And more extensive tests for previuous done tests).

GitHub Issues:
1.- Hooks and Dummy DB
2.- Testing

Regarding the first issue:

I was reading a tutorial on Mocha/Chai testing (link below) and in a step, the guy talks about creating a different database to stop the pullution and unnecesary requests to the main DB. And that was the first part of this issue. I made a new cluster in Atlas for testing purposes, and implemented new enviroment variables and .ENV files for the connection (Which was in fact, the complicated part).

Then, I started reading in the same tutorial about hooks, and how weel those functions integrate with with database testing. The hooks available are: before(), after(), beforeEach() and afterEach(). The names basically describe everything those function do. The important thing to know is that these functions are written inside the describe() function. before() and after() esecute one time during each describe() and, if it’s an “each” function, it executes before or after each it().

Regarding the second issue:

This issue was quite simpler. Now that I uderstand hooks, I can start making more useful but simpler tests.

To summarize everything up, I made tests for the POST at /getLevel, a POST and GET at /score and the delivery of the static files.

We are almost at the middle of the available weeks! But not really…

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ

404, level 2 not found.

--Originally published at That Class Blog

404, level 2 not found.
“404_madness” by Oliver Tacke (CC0). From https://www.flickr.com/photos/otacke/13990410803

I guess this post won’t be long. I already did all of my assigned issues (You can check the current and past issues here). I’ll be working alongside my partners in any way they need. And I will star doing some refactoring and code documentation. And I will talk with my parters in the project administration area regarding my working payload.

Miguel Montoya
Esperanto enthusiast
ʕ•ᴥ•ʔ