Student Application Template

Studying Engineering software at Universidade de Brasilia, programming lover and follower of agile software development, practitioner of open source development and free science. I always try to solve the problem in the simplest but optimized possible way.

Programming Languages and Frameworks:


1- Mezuro: Understanding code metrics. 2014

My participation was to evolve the "prezento" web application that interacts with the user. And created a recipe for easy environment configuration with the "chef" tool.

More in :

2- Django Revproxy

Reverse proxy for django apps.

My participation was to make a parse in which dated back an HTTP header , it was necessary because currently the django and library urlib3 do not support multiple cookies, my idea was to remount manually header without using the urlib3 library, and the solution was accepted .

3- Omniauth Remote user

Omniauth Remote User (just a mirror from oficial repository)

This gem was created to solve a problem, we needed to authenticate users in many different applications with a single login, and a way that was using the http protocol.

This gem gets a HTTP header with single user and the other tools that use this gem can authenticate the user received.

My participation was in development, testing and library implanting.

4- PSPB - Portal of the Brazilian Public Software.

The new portal of the Brazilian public software seeks to bring together a space where all Brazilian organs can develop software in a collaborative environment in which allows the dissemination of available software leading the economy of public money.

My participation in job was to develop and evolve the tools like : gitlab : colab : noosfero : mezuro :

I'm very motivated to participate in the google summer of code for the first time, and have the chance to make a great contribution to the debian and the community at large. Soon being chosen I will be the best person to work on this project.

The project "Automated Configuration of Web Packaged Applications" comes with a very good motivation. Who's developer knows the work that is to configure an application. Listing some activities are: configure application server, configure database, serving static files, packaging, install dependencies ... These are just some well-known tasks, and are not simple tasks, especially for a beginner developer or just a regular user.

The project goal is to create a tool that will be able to install and configure Web applications. The user will interact with the tool through a web application to allow the use of such functionalities.

We will have a backend that will receive the information provided by the user, so getting installed and configured application. Soon say goodbye to complicated settings! This would help many people mainly the responsible for the systems infrastructure.

And how would that be?

First would be to build the backend so can apply the chef recipes, this step is very important. Here there will have recipes for configuration of the environment, such as application server (ie nginx), database, required packages templates etc.

We will use the Chef-soil to configure and install the packages.

Second would be to build the web application that communicates with this back-end would be basically a web application using Ruby + Sinatra (or similar) + javascript + html + css, using something like bootstrap to leave the nice layout to the user.

The idea is that the user has the least work possible with the web application, with small steps the user can already have all configurations done. Ie filling in the required information and a few clicks to complete the installation and configuration.

It is interesting to keep the user's settings so it can edit at will, and we must quickly support changing the configuration desired, thereby generating an update on the installation and configuration.

With three initial projects to serve as a model to others I thought of Gitlab (ruby on rails), (node.js) and Wordpress (php).

I also think it would be itenressante an integration with Gitlab. For example: The user could create settings in your git repository using a template, or even point out your repository to the desired application and the configuration file, and the installation and configuration would be made after synchronizing your repository in our tool.

During the development will be used some of the best practices of software engineering, such as TDD, continuous integration, "?DevOps" with chef, clean code, etc.

It will also be made to the project documentation, and examples for using the system.

Write chef recipes for the first sample application. Write tests and deploy the created recipe. Bug fixes.

Start the web application development, with tasks such as testing, automate development environment, the front-end improvements, etc. Bug fixes. Documentation.

Continuation of the web application development Write chef recipes for the second and third sample application. Write tests and deploy the created recipe. Bug fixes.

Continuation of the web application development Git integration. Documentation. Bug fixes.

Bug fixes. Test and test and more test with many applications. More tests and bug fixes. Documentation. fine adjustments.

Well, I met during my debian graduation, a teacher who showed me, Professor Paulo. This makes about 2 years i changed my previous linux. With him learned to like free software and to help people, I see that I can be useful people around me, with debian I could be useful to many more people, it is simple just contribute with their projects.

I chose debian in google summer of code by three small reasons:

Having the chance to work and learn with Antonio Terceiro .

Participate in the development of a tool that I know will really help the people, I know many people would like to use the tool, being developer or not.

Debian has several legal projects, I want to be active in the free software community, I will finish my university in this year and no doubt I will have more time for that.