This week
on Thrill Jockey I worked doing migrations of products again, that happened
because the client sent a list of labels that are not going to be distributed
anymore. So the first thing we worked was to redefine the task on ruby on rails,
basically the task takes a csv file, previously built, that csv file is red and
through a library a hash is created. In that way, we create a cycle that takes
each element of the hash, goes and inserts it in the database.
Here
something was not really good, we found out that when reading the files
generated for each product sometimes it presents errors running the tasks
because 2 things had happened:
1. There is
a missing/one more space between the name of the file, so when the task runs it
fails when needs to run the that file or,
2. There
are new characters that we had not seen before.
After we
left that running we review with our tech lead the next stories that we are
going to develop. Right now the design
is going to take part of the work that is coming, which is great because we
will be able to show to the client something more real, more similar to what we
showed her at the beginning. It is not going to be anymore just functionality, which
in most of the demos was really difficult to get the stories approved because in
the majority of the cases we needed to spend a lot of time explaining that what
we did is not including the design that is different.
For
example, something that happened this week that in fact turns me kind of mad
and stressed was that we show something that was agreed the last week, that was
a separation between the products that are owned by Thrill Jockey and the ones
that are just distributed by them. So we did the separation, and everything was
there but the client said that it did not look as she expected. We tried to
explain her that the things that were missing are part of the design; at the
end we could not approve that “functionality” because of that (we are still
trying to make her understand that migration, design and functionality are
different things.)
As I explained
we had demo, so I needed to upload the new app to the development server, this
step is now really easy, after start my internship as part of my tasks I’ve
learned to put rails and php apps in the server and set them to be accessible
from the web.
Also I had
to write a document to Thrill Jockey, because some of the customer data that we
had to migrate the last week gave problems so they asked us to send a list of
the users that we could not migrate for them to review it and take a decision. After I finished that document I started to
read and research about the new functionality that was on the backlog, which is
a research about the order processing.
I started
to search about the payment gateways supported by spree, and also the one that
is used by Thrill Jockey, fortunately spree seems to support the same gateways.
I also spent time searching extensions to export orders into csv files. Unfortunately
none of the ones found were compatible with the version of spree that we are
using, so after the Tuesday’s demo, I’ll probably start implementing that
functionality.
Something
really good that I found was that, before when we started using spree to see
how it works we were worried because the process of charging the amount of
money for the products bought was manually, but this week when I was doing that
researching I found that it can be doing without the intervention of an
administrator. Basically what I needed to do was to change a line of
configuration to make that process automatic.
I made a
test after changing that configuration, using the default gateway and it was
really cool to see how the state of the payment in the admin part was done,
without any intervention. Now what I need to continue with this functionality
is to get test accounts for the payment gateways that they need to have in the
new site and prove them that everything works as they want.
On that
functionality we will need to implement the automatic creation of the zip files
after purchase digital products, and make them available in the record crate of
each user. On the other hand, we will need to make a separation between the
orders and preorders, and the ability to export orders into csv files.
For the
next week, we will be working into uploading the digital content to the server,
because now we think that will able to have everything in the development
server. In fact after running the new scripts filtering the list that the client
said the product list was reduced to the half of what they had at the beginning,
which shows the amount of garbage that they have in their database.
When we
finish the migration of that part I learnt something really important, never
let data from your tests into the database, or at least use data that represents
what you are testing, do not put just letters, make the data that you are
putting as a test have some meaning that could help the next person that will
check your database.
Then I worked
on Eventwax project, for this week I did a redesign of the messages section, so
I worked with saas and rails. This was an easy task, I just needed to change
the message that was displayed and make it look as the client asked.
Also I help
my coworker with her story that took a lot of time, because we needed to
generate a barcode and qr codes for the events tickets, moreover we needed to change
the template used to send the emails of attendees. When we finish that story I went
to a code review with the tech lead of this project.
During the
review, we did some refactoring, and we talk about why we did things in the way
we did it. Also I learned some new tips about github, and was a really helpful
code review.