sábado, 10 de mayo de 2014

New project (may 5-9)

For this week, because Thrill jockey is on stand by I worked into a new project called Starprog, in this one, I’m working into the blackjack game. In this I started from the basics, creating the models, relations and go on from there. In this case I started testing everything, now I’m learning a lot about tests and its benefits.

I did the card assignment, make the view  work with the new code, update the bet quantity, and the checking if there is a winner, when is a blackjack. I need to do test to part of the code that was already there, and some actions on blackjack controller.

On eventwax, I fixed the 2 issues that were found about the ckeditor implementation. Also I did tests which threw some styles issues on IE’s browsers. So  I spent the whole day doing that. At the end of the day I was checking how formtastic works, that is a tool to generate forms, and it is used on this site. But after all, a coworker told me that it would be better if for this story I get rid of this, because formtastic cant be adapted to much in the way that in rails there is the phrase “convention over configuration”, so he told me that it would be faster, and easier to do it in a “manual” way.


Lessons, we need them to learn.(april 28th -may 2nd)

This week there was no too much work on Thrill Jockey, in fact we are again on stand by. The guy in front on the team, assigned me to research about the shipping and see the viability of using the gem active shipping, so I installed that gem, and tried to set it up for Thrill Jockey, at the end, I got to the point that if we use it, we still need to customize it, changing its code.

It is because this uses a weight, dimensions and the other data for a whole product, not for each product variant that is what we need. If we don’t have variants the problem will be data duplication.


On the other hand, on eventwax, I just worked a day because it was a holiday.So I started working into a big story that is called redesign add an event. I started with the logo image upload, this story is a big challenge because it implies the use of a lot of things changing a lot, and also I need to take into consideration that I cant use any gem because it needs to work with the current environment rails 2.3 and ruby 1.8.

All is about communication with the client(21-25th april)

Finally after a week we got the feedback from the client and two stories on the working column. This week I worked on php, in the part of the record crate making a user able to download the digital content purchased, so that when he or she clicks on the download bottom a zip file with the content was generated so that he/she can obtain the digital content.

Also we review and estimate some of the next stories , in which the acceptance criteria was understandable. I upload that order-processing story to the server so that the designer can review it, and test it.

On Eventwax, there was a high priority bug on production, so I spent the whole time fixing it fortunately we were able to fix it. The problem was that  2 people on the same computer on eventwax site made two different purchases one had trouble and the second no, but the payment was assigned to the one with trouble(that was known that she did not made the payment).


We review the logs of the server, and we saw and found the problem there, at the end, was a bug with the sessions, that were not being cleared properly. So that was the big learning of the week was the session’s management, security issues are again really important. That was a specific case when 2 different users made tickets purchase on the same computer and browser, but it make it visible a huge security issue.

Sometimes we need to take a step back (14-16 april)

For this week, there was no much programming on Thrill Jockey project, what we did was to finish a proposal with the stories that we know that are missing on that project, so that we can go faster instead of be waiting for the to write one. Moreover we had a meeting, and we got an agreement, we are not going to do anything until we got an approval from them and from a guy that built part of the current site.

So, that week on TJ I did the set up of the payment gateways Paypal y First Data. I did not use the paypal set up that spree provides because it did not work. After a research I did I found a gem called Paypal Express, so I learnt about the set up of that payment gateway, I created a sandbox and test accounts to be able to do purchases with this payment gateway.

On the other hand for First Data the set up was really easy, I used the one that spree provides, the challenge here was to create a test account, because for this we need to get a store number, a PEM that is a private key and also a tax id.


Because I finished that on Tuesday, on Wednesday I did pairing with a coworker, and we were working on tests with rspec. I did the firsts real tests to models. So for this week I learnt about payment gateways configuration and started with tests on rspec. With the payment gateways is really important to know how to set them and which to use, we are talking about money so we need to be sure that we have the highest security on this. And for rspec, it is a good habit that I need to acquire, tests can benefit a lot, for multiple reasons some of them are: you just code what you need, if you make a change on some part of the code, if you run the test suite you can check if the behavior in some part was change it and we can prevent future bugs.

martes, 15 de abril de 2014

Week apr 7 - apr 11

For this week I worked 3 days on eventwax, the site for events management and on thursday I wrote a stories proposal document for other project Thrill Jockey. Basically this week on eventwax was about to continue with the integration of a editor to the description fields of the event's creation, so that it would be nice for the users to change the styles and make it look better.

So, I worked on the integration of the ckeditor into the site, which was successful. At the beginning it was a complete headache because I  did not  know anything but after a research it  was a easy as to downloads the ckeditor folder with the js files, locate it into the javascript folder into the the project, and add the script call to the views that will use it.

After that integration I found that some features were not working properly, so we told that to the client, and what he said was that what he want us to do is just to quit those features that are not working, and that's what I'll be working after easter. Also for this week there were 2 bugs that needed to be fixed ASAP  so I also fixed those 2 bugs, they were about meet DRY (Dont repeat yourself) and a problem with a validation of an event's capacity.

Finally on Thrill Jockey, I worked writing the stories that are missing to do a proposal to the client, from that we saw that there is still work missing but that is not too much. On this week I learned to integrate the ckeditor on a rails app, also apply DRY, and about validations on rails. On the other side for TJ I learned that proposals need to be very detailed, everything needs to be understandable to every person knowing about programming or not needs to understand it.

domingo, 6 de abril de 2014

Week march 31 - apr 4

For this week the project still continues on stand by, however there was a meeting to get information, and try to  make alive the project again. Also I continue with the solitaire game and eventwax project.

On Thrill Jockey project we went to a meeting were we got a bunch of information, the team show us how they manage the Catalog, Press and Artist part, that is because the client said that she  wants to reuse that part from the rails app that was build before. So, we spent a whole afternoon getting info about it.

The conclusions we got from that is that, most of the site is just to display info, so if we use it still we need to code a lot of functionality. So, the next step took was to create a document to explain the structure and mark  possible new stories.

As part of the work of the week we finish the part of the solitaire that was assigned, and started doing the first real tests. This was really hard, I could not got the trick, so I need to finish the rspec book. Also, we started the introduction to phone gap, I did a hello world with that and the next step is to try to pass a simple rails app into it.

Finally on eventwax I worked including the ckeditor to the add an event functionality on the description. It took too much time, but finally it worked. I did not need the installation fo any gem, just to download the files and add them to the public/javascripts folder and add the class to the component that was going to use it with a function that activates it. That was a really interesting learning of the week, sometimes we think that the easiest way to add a component is to add a gem, however this was not the case.

Also on eventwax, we wrote the stories in which we broke the redesign add an event story to make them more manageable. I started changing the template to make it look as the client wants.

Week Mar 24 - 28

For this week our project was on stand by. But we use this time to start another project and keep working on event wax. During the day with the help and guidance of a coworker we work on a solitaire on rails from scratch. That make me learn how to build the ruby-version and the ruby-gemset files, also how to make the models,controllers and views without the rails generate command and finally the basics about relations between tables on models.

On the other hand on eventwax I worked analysing rake tasks about invoicing and got feedback from the client about the new story that my coworker and I are going to start. Basically what I did on the analysis of the tasks  was to go method by method to understand what was the problem, with the techlead we got to the conclusion that the problem of repeated invoices was external to the code, in fact we got an email of the client saying that the command was run twice and that  caused the error. 

However there are some inefficiencies that the client wants to quit from the code, so I'm still working with that trying to find out a way to make it more efficient. Finally some of the learnings of this week are a better understanding of rails, having someone who knows the language and tells you what is wrong and if there is a better way to do something, is something that really helps to have a better understanding and get some tricks. 

Also that not always that are bugs on an app and you are pretty sure that the code works correctly find another explanation for the problem (as the connections with the provider of charges on cards, or the command being run twice).Trying to improve the efficiency of code that has some years needs that the programmer knows the code in a deep way.