Arttu Salonen: Portfolio

< http://portfolio.watkinson.fi >

contact: arttuwatkinson.fi

About this page

Here are listed many of the projects that I have worked on, both professionally and as a hobby. Some of the projects have their source code available at my GitHub -account (https://github.com/Watkinsong/ Opens in a new window.), including this portfolio system: https://github.com/Watkinsong/portfolio-system Opens in a new window..

Projects

Description of project: WebInfra is an Internet-based software-as-a-service that offers solutions to ease communication and increase sales.

Own role: software architect, technical coordinator

Professional skills: PHP5, MySQL, Apache, JavaScript, AJAX, (X)HTML, CSS, OOP, MVC, RPC

Methods, tools and technologies: requirement analysis, customer communication, development, testing, architecture

Main tools: Eclipse, Subversion, Dia, PHPUnit, Make, MySQL Workbench

[Show more]

My responsibilities in WebInfra -project were to guide development work, maintain and develope the system's own RPC -component architecture, make technical decisions, monitor and improve processes and tools, inspect code and also take part in the normal development cycle of the product.

The service itself was a groupware solution, containing multiple applications such as an email client, calendar, application to send SMS -messages, hour reporting solution, online surveying tool, customer relationships management software and tools to ease software testing and deployment work.

As a technical coordinator, my tasks included reviewing of RfOs and making technical work estimates and plans for possible projects.

images/webinfra.png

Specs:
  • PHP5 as the main programming language
  • Heavy use of JavaScript and AJAX on the user interface
  • MySQL5 -database
  • XHTML 1.0 Strict as the doctype of the markup
  • custom component architecure using JSON-RPC 2.0
  • a public interface for external requests

Description of project: Designing and implementing a system tailored for a customer's business activities.

Own role: lead developer, customer contact person

Professional skills: PHP5, MySQL, Apache, JavaScript, (X)HTML, CSS

Methods, tools and technologies: requirement analysis, customer communication, development, testing, architecture

Main tools: Eclipse, Subversion, Dia, PHPUnit, Make

[Show more]

Ciron Business Intelligence (CBI) is a system that supports the customer's business activities with services and features of enterprise resource planning (ERP), product data management (PDM) and customer resource management (CRM).

The system was a fairly complex and large with both features and codebase. In the project I worked as a lead developer, guiding other developers in their work and doing also many project management -related tasks.
A part of the project was also a feature for the customers of the company to make automatic RfO:s from the website of the company. This required implementation of an interface to the system that could be used from within the website.

The system itself was built upon WebInfra, a groupware service for sales management and productivity, and the architecture, codebase and deployment tools were used as the backbone of CBI -system.

One aspect of the project was to act as a testing platform for the new architecture of WebInfra -system.

images/cbi.png

Specs:
  • PHP5
  • MySQL5
  • XHTML 1.0 Strict
  • Relational database modelled with Dia using tedia2sql -utility
  • Deployment used RPM -packaging and make

Description of project: Designing a website for a customer using Drupal Content Management System.

Own role: web developer

Professional skills: PHP, Drupal 6, XHTML, CSS

Methods, tools and technologies: Drupal API and theming system, graphic design, version control

Main tools: Eclipse, Emacs, Gimp

[Show more]

A customer required a website that does not require much technical competence to maintain and edit, and to achieve these requirements I chose Drupal as the framework for the site.
In addition to graphical design and implementation, I used the privilege system of Drupal to create different user roles to the system, in order for the customer to distribute the tasks of content editing, news posting etc. to different persons.

The graphical design was based on existing logo- and color designs.

images/merella.png

Specs:
  • Drupal6
  • PHP5
  • XHTML 1.0 Strict
  • Graphics created with Gimp

Description of project: An application for a customer to store and search information about event and fairs.

Own role: web developer

Professional skills: PHP, MySQL, e107 CMS API, OOP, Apache

Methods, tools and technologies: Requirement analysis, customer communication

Main tools: Eclipse, Emacs

[Show more]

The customer required a tool to store event and fair information and to display this information on their website with a form for their customers to search that data. I defined the requirements for an application to tackle this need together with the customer and desingned and implemented the final product, and controlled the deployment of the application.

The customer's website was implemented with e107 Content Management System, and the event search application was implemented as a plugin to the system.

images/event_search_public_page.png

Specs:
  • PHP5
  • MySQL5
  • e107 v.0.7.7
  • Server rewrite rules implemented with mod_rewrite in Apache

Description of project: In this project I reviewed, restructured and improved code of an old and unstable travel expenses application.

Own role: technical developer

Professional skills: PHP, MySQL, JavaScript, e107 CMS API, AJAX, OOP

Methods, tools and technologies: Unit testing, refactoring, restructuring, database migrations

Main tools: PHPUnit, Eclipse, shell

[Show more]

An old application designed to handle travelling expenses had not been under continuous development and maintenance even though it was actively used in production -environment. I approached the task by improving the database schema and by remodelling the application's implementation to be Object-Oriented, which in effect resulted in almost a complete rewrite of the application.
The user interface followed the original layout to a great extent, but during the project I applied AJAX -requests to the user interface, making the use of the application much more fluent and rapid.

The application was a part of the company's intranet, implemented with e107 Content Management System, which required research to the e107 plugin implementation and means to create an administration user interface.

images/travel_expenses_application.png

Specs:
  • PHP5
  • MySQL5
  • e107 v.0.7.7
  • PDF -printing implemented with fPDF -library

Description of project: The project was a part of my bachelor's thesis. Project aimed to apply test-driven development to the alpo.fi -portal.

Own role: technical developer

Professional skills: PHP

Methods, tools and technologies: Unit testing, mock objects, refactoring, Test-Driven Development

Main tools: PHPUnit, WAMP, Eclipse

[Show more]

The project was part of my bachelor's thesis, which was carried out in pair programming. In the project the development of the target application www.alpo.fi was lifted towards test-driven development in order to rationalize the development. This included the retrofitting of unit tests to the application code.

In the implementation of the unit tests mock objects were used widespread. The project also included a great deal of refactoring.

Read the thesis: http://publications.theseus.fi/handle/10024/9966 Opens in a new window.

images/alpo.png

Specs:
  • PHP5
  • PHPUnit 3.5 as unit testing framework
  • Xdebug 2.0.5

Project website: http://www.alpo.fi Opens in a new window.


Description of project: Designing and creating web-pages for band 6th Hour Jam.

Own role: web developer

Professional skills: PHP, MySQL, XML, CSS, JavaScript

Methods, tools and technologies: OOP, MVC, PHP5, XHTML 1.0 Strict, CSS 2

Main tools: Adobe Photoshop, Eclipse, phpmyadmin

[Show more]

The project involved designing a layout for the pages, and some functionalities such as the photo gallery and the guestbook. On the layout of the site I aimed to create something unique but still working. The look of the pages tries to forward a feeling of shady night club or gig.

The photo gallery was implemented with open source PHP-application Plogger. For the guestbook and the news-portion I designed and implemented an MVC-architechture with PHP that uses MySQL -database to store news and guestbook entries.

images/6th_hour_jam.jpg

Specs:
  • XHTML 1.0 Transitional - doctype
  • CSS 2
  • graphics created with Adobe Photoshop
  • coded with PHP5 on Notepad++
  • MySQL-database

Project website: http://www.6thhourjam.net Opens in a new window.


Description of project: Project for a course of development with Symbian C++ for S60 platform. The game was a remake of the original.

Own role: planning and implementing the game

Professional skills: Symbian C++

Methods, tools and technologies: MVC, Symbian S60 3rd edition architechture

Main tools: Carbide.c++

[Show more]

The project was a part of advanced mobile development course in TAMK. The game itself is a remake of the original arcade game.

images/space_invaders_1.jpg images/space_invaders_2.jpg


Download the game to your phone: SpaceInvaders.sisx Downloads the resource., SpaceInvaders.sis Downloads the resource.
Class diagram: SpaceInvadersClassDiagram.jpg Downloads the resource.
Grab the source at github: https://github.com/Watkinsong/s6ace_invaders Opens in a new window.


Specs:
  • S60 3rd Edition SDK for Symbian OS, Maintenance Release
  • IDE: Carbide.c++ Carbide.c++ v.1.2
  • Tested in Nokia E61 and Nokia 5800 XpressMusic

Description of project: Designing and implementing new web-pages at racetrucksfinland.fi, and maintaining and updating the pages for a race season.

Own role: web developer, web-page administrator

Professional skills: PHP, MySQL, XML, CSS, JavaScript

Methods, tools and technologies: OOP, MVC, PHP5, XHTML 1.0 Strict, CSS 2

Main tools: Adobe Photoshop, Eclipse

[Show more]

The project's target was to renew the web-pages that had become obsolete and hard to maintain. I designed a new look and layout for the pages that still resembled the old pages to create an idea of an update rather than a total renewal. The project also included the design and implementation of a administrator's control panel. The old site was implemented statically, so in order to store data about races, drivers etc. I designed a database schema for the application to use.

After finishing the page's development I continued to update and maintain the pages as an administrator for the summer's racing season.

images/rtf.jpg

Specs:
  • implemented with PHP and MySQL in MVC-architechture
  • XHTML 1.0 Strict - doctype
  • CSS 2
  • graphics created with Adobe Photoshop
  • IDE: emacs

Description of project: Project for a course of development with Java ME platform. The game was a remake of the original Donkey Kong.

Own role: planning and implementing the game

Professional skills: Java ME

Methods, tools and technologies: OOP, Java MIDLet architechture

Main tools: Java ME SDK, Sony Ericsson S700i as testing platform, Notepad++

[Show more]

The project was a part of mobile development course in TAMK. The game itself is a remake of the original Donkey Kong arcade game.

images/donkey_kong_1.png images/donkey_kong_2.png


Download the game to your phone: DonkeyKongGame.jad Downloads the resource., DonkeyKongGame.jar Downloads the resource.
Class diagram: DonkeyKongClassDiagram.jpg Downloads the resource.
Grab the source at github: https://github.com/Watkinsong/kongmidlet Opens in a new window.


Specs:
  • MIDP v. 2.0
  • CLDC v. 1.1
  • IDE: Sun Java Wireless Toolkit 2.5.1 and Notepad++

Description of project: Designing and creating new web-pages for Veljekset Salonen Oy.

Own role: web designer

Professional skills: XHTML, CSS

Methods, tools and technologies: XHTML 1.0 Transitional, CSS 2

Main tools: Adobe Photoshop, Notepad++

[Show more]

The goal of the project was to create new web-pages for the customer. Customer's old web-pages had become outdated and didn't match up to the customer's needs.

On the design of the web-pages I strived to achieve a look that imitated the customer's blue- and white-colored trucks. The site was designed to be scaling so it would appear correctly on many different screen sizes.

images/vsoy.jpg

Specs:
  • XHTML 1.0 Transitional - doctype
  • CSS 2
  • graphics created with Adobe Photoshop
  • coded with Notepad++

Project website: http://www.veljeksetsalonen.fi Opens in a new window.