The Project 52 is a personal challenge according to which I should make one project every week, for 52 weeks (one year). It doesn't state what kind of project should I make or anything else related to that. But I have a long list of technologies I'd like to try and test, so I probably will have a lot to do.
The project I developed in the first week is called Kotlin on Android and is a simple "ToDo" application built entirely in Kotlin. Read my blog post about it.
In the second week of the challenge, I went into front-end web development tools and frameworks, messing around with AngularJS (v1), Gulp and Sass (Sassy CSS). I tried to make my own invoice generator, or at least its front end. It is just the frontend, so it doesn't do anything for the moment, but later I will wire it with a backend service which will store the previous invoices by the user into the DB. Here's my blog post for the second week.
In the third week, I dealt with Vagrant and Chef. I use Vagrant for creating virtual environments, and Chef for provisioning the VM. Until now, I've been using laravel's Homestead and PuPHPet for creating these VMs. Instead of Chef, PuPHPet uses Puppet, but it is focused only in PHP projects. Using Chef and manually configuring VMs, allows me to create Virtual Environments for every kind of project, including other languages except PHP. Here's my blog post for the third week.
In the fourth week, I decided to learn a MVC, Rails-based Node.js framework called Sails (like Rails, but with an S
instead of R
). The application I developed is not a really complicated one. It is a sample API built with Sails that allows the API consumer get information about different ship types (source: Wikipedia).
You can read my blog post about this week.
In the fifth week I made some small changes to the same application I developed the 4th week. I added a bit of validation and an authorization mechanism, so not everyone could access certain routes. For example, only admin users can delete records. The repository is still the same, so I added a branch called week4
for the code writen in the 4th week.
In the sixth week I created an IRC-like application in Java using Sockets. The application allows different clients to connect to a single server process, identified by a hostname and a port number, and chat with each other. You can find the source code here, where you can also read how to set up the server and the client and use them
I took a week off from coding and instead answered seven questions I found interesting during time. Some of the questions are:
- A comparison between C# and Java
- The difference between Active Record and Data Mapper, two implementations of an Object-Relational Mapper (ORM)
- How JavaScript is executed in the server?
- How does Siri work?
You can read the answers in my blog post.
This week, I went back into the hybrid app development frameworks I like most, the Ionic Framework. I rewrote an old application of mine, called yalg - Yet Another Logo Game (not a very original name, I know). I rewrote the application for 3 reasons:
- I had completely lost track with Ionic and what Drifty has been doing lately. I wanted to retry the framework and check the latest features they added.
- While Angular2 is in progress, so is Ionic2. So I rewrote this, using the awesome Angular style guide by John Papa, and later will compare this to the newer Ionic2 framework.
- I want to try to integrate ngCordova with this application, firstly for the embedded SQLite database and maybe later for other things too.
You can read the blogpost here.
During a couple of weeks I've been working on some school projects, including Balut and Restauranteers. Also I've been following an Android course and developing some simple apps during it, which you can find here.
You can read my blogpost here.
During the 10th week I finished the applications I started in the 9th week. and also developed another Android application, Exchangeagram. You can read my blogpost here.
After a month of exams, I returned to my Project 52 with jump-starting Sinatra, building a simple CRUD application using Sinatra. You can read the blogpost here. PS: I also changed the theme of my Jekyll blog
This week I went back into following the Android course by Rob Percival, building an Uber clone and after that, a Flappy Bird clone. During this time, I was working with Parse Geolocation API and libGDX for developing the game. Also I followed an introduction to Android Wear, how to build simple applications for smart watches and test these apps in the emulator. Here is that blogpost.
This week I’ve been working on something I’d like to call “a probability model for playing Blackjack”. If that intrigued you, please read the blogpost here.
I decided to write a non code-related article every 7th week, after I saw how many people liked the article on the 7th week. This time I wrote a Medium article called The Developer's Mindset.
During the last 2 - 3 months I haven’t written anything on my blog and the analytics are showing me the EKG of a wooden box. Nevertheless, I haven’t been just staying around, so my Project52 is still going on. This blogpost is a fast forward, showing what interesting things I have been doing for the last 9 weeks.
This week I wrote a Ruby script to turn Markdown files into HTML files. The blogpost is posted on here.