sábado, 1 de marzo de 2014

13th Week

Thrill Jockey Project(Internship)

Stories:
1. Customer data
As part of this story I was in charge to write the parser for the users and the record crate that was a simple ruby program that takes a csv file and builds a new csv file with the data that the task on the rails application needs to run. So after finish that parser and generate the scripts that we were going to use, we enter into the part of the users authentication, because we needed to modify it to tell the user that it needs to reset the password if its his/her first time on the new site. I worked changing the code of the spree_auth_devise extension to make a new validation when a user tries to sign in into the site. The easiest way to do it was to take advantage of the column that the users table of the database has, which maintains a counter  of how many times a user has logged in. The validation I made was to ask that if that counter is 0 to ask the user to put his email, and we send one with instructions of how to get back its account working. The email contains a link which redirect to a page that let you reset your password. Also as part of this story I worked with cookies, that was the way in which we think that will be the best way to manage the session in the php part of the app. At the end we can say that the functionality was achieved, the thing that is making us not approve that story with the client  is that the migration is taking a long time, there is a lot of data that is not consistent and there are almost 30 000 users.
2. Thrill Jockey/ Distributed Releases
This second story was about to make distinction between the products that are of Thrill Jockey and the ones that are just distributed by them. So we needed to create two actions on the products controller. Also we create the views for that, and the thing that took more time until now was the definition of the route, because as we defined in the beginning it was making us have troubles with the paginator element, but after we got some help of a coworker, we were able to fix that with him. In fact almost the whole story was made in half day, what we are missing about it is to put the query for the distributed releases.

At the end of this week on this project I can say that it was not what I expected because I wanted to approve both stories. So fortunately on Tuesday we are going to approve 16 points.

What did I learn?

Well basically I put in practise, because I've red about it and made examples but not in something that is real:
- define routes, 
- add actions to a controller, 
- add columns to a  database table, 
- add models to an extistent app,
- how to modify the content of a spree extension,
- make queries using active record syntax,
- use cookies to manage sessions between applications in different languages,
- refresh php knowledge.

How to get better?

1. First of all, one of the things that took a lot of time was the migration, so it was in part becasue we did not know about rollbacks on rails, so we are going to research about it and put it on practise for the next migration, and reduce a little bit the time that it takes to run all the tasks.
2. The second thing is that I need to keep the repos cleaner, make commits more frequently.
3. And the third thing that I could improve is not to spend a lot of time searching when I'm in trouble with something, it is better to ask, if its taking a lot of time.
4. Keep using free time to learn more about rails.
5.Testing new code, learn how to make tests with  rspec-rails.



Eventwax Project(Extra)


This week on this project I just worked on Friday, and also that day I was verifying that everything that we had on the other project was right, so I was not focused on it completely. But the good thing is that I fixed a bug and finish a story as part of my day. Also I was in a code review of what my friend and I have done the past two weeks.  I learnt that work with time zones could be a really headache or at least is too difficult for me  J. But on this project every time I feel more confident about what I’m doing. Also the good thing with this is that I’m learning the good news that have been introduced into new versions of rails and ruby, because this uses ruby enterprise edition 1.8 and rails 2.3  while in the other project we are working with rails 4 and ruby 2. 

No hay comentarios:

Publicar un comentario