Portfolio

Daži no projektiem, kuru izstrādē esmu piedalījies ir minēti zemāk.

H5 property pasūtījumu apstrādes sistēma

Periods: 2017.05.01 — 2017.10.31

Mani nolīga Fjord Software kā Vecāko Ruby on Rails izstrādātāju lai palīdzētu izstrādāt pasūtījumu apstrādes sistēmu vienam no lielākajiem norvēģu nekustamo īpašumu mārketinga risinājumu sniedzējam — H5 Property.

Mans lielākais pārbaudījums šajā projektā bija saprast, kā strādā vecais kods, jo ar iepriekšējo programmētāju man tā arī neizdevās sazināties. Par laimi es varēju iegūt izsmeļošu informāciju par biznesa vajadzībām un to attīstības vēsturi.

Sasniegumi sešos mēnešos:

  • Migrēju autorizācijas kodu no CanCanCan ruby gem uz Pundit. Tas ļāva paātrināt turpmāko izstrādi, tai pat laikā samazinot iespēju ieviest jaunas kļūdas autorizācijas kodā. Šīs izmaiņas nākotnē pamatīgi atvieglos autorizācijas koda auditu.
  • Izstrādāju rēķinu izrakstīšanas sistēmu.
  • Izveidoju integrāciju ar Quickbooks.
  • Izveidoju Tripletexer rubygem integrāciju ar Tripletex.
  • Pārliecināju biznesu migrēt failus no Amazon EBS uz S3, lai samazinātu izmaksas par vairāk nekā 50%.
  • Izstrādāju kodu, kas ļāva pārvietot vairāk nekā 3TB failu no servera uz Amazon S3 bez sistēmas pārtraukumiem un klientu traucējumiem.
  • Izstrādāju pamatus API v2.
  • Izstrādāju audita atskaiti. Es arī izdomāju viltīgu veidu, kā izmantot iegūtos datus, lai lietotājam atrādītu notikumu secību (timeline) izvēlētajam pasūtījumam. Diemžēl šo ideju es nematerializēju, jo pametu Fjord Software.
  • Sāku daļēji izmantot Trailblazer (Cells, form objects, operations).
  • Izstrādāju integrāciju ar Goolge Vision API, kas ļāva automātiski klasificēt bildes.
  • Daudzos servisos uzlaboju veiktspēju.
  • un daudz ko citu

Tehnoloģijas:

  • Ruby on Rails
  • Mysql
  • SASS (SCSS)
  • git
  • sidekiq
  • jQuery
  • ImageMagick
  • Trailblazer
  • Pundit
  • grape
  • swagger

CakeHR - cilvēkresursu vadības sistēma

Periods: 2016.01.17 — 2017.04.17

Es pievienojos CakeHR projektam kā vadošais programmētās lai palīdzētu izstrādāt jaunus moduļus, refaktorētu veco kodu, viektu koda auditu, labotu kļūdas un uzlabotu kopējo koda kvalitāti.

Šī projekta lielākais izaicinājums bija vecā koda refaktorēšana kvalitātes un ilgtspējības uzlabošanai.

Dažas liektas ko esmu darījis:

  • Pilnībā refaktorētēju un standartizēju front-end
  • Izstrādāju darbinieku novērtēšanas un attīstības plānošanas moduli
  • Izstrādāju uzņēmuma hierarhijas attēlošanas un rediģēšanas moduli
  • Izstrādāju objekta izmaiņu saglabāšanas moduli audita nolūkiem
  • Refaktorēju lielu daļu vecā koda

Tehnoloģijas:

  • Ruby on Rails
  • ActiveAdmin
  • PostgreSQL
  • MongoDB
  • SASS (SCSS)
  • git
  • sidekiq
  • MaterializeCSS
  • jQuery
  • d3.js

Mogo iekšējā finanšu sistēma

Periods: 2013.04.25 — 2015.08.31

Vissarežģītākais no projektiem — MOGO finanšu sistēma.

Šī projekta ietvaros esmu piedalījies praktiski visu sistēmas moduļu izstrādē kopš projekta sākuma.

Daži no moduļiem kuru izstrādi esmu veicis:

  • Līgumsodu aprēķināšana
  • Dokumenu ģenerēšana
  • Permisiju modulis (iespējas liegt modificēt pat konkrētus laukus formā lietotāju grupām)
  • Līgumu un apakšlīgumu loģika
  • Ļoti sarežģītu atskaišu ģenerēšana (ar perspektīvas datumu)
  • Dažādu nedokumentētu ārējo servisu integrēšana

Izaicinājumi:

  • Veiktspēja
  • Trūkstošo vai lieko centu medīšana sarežģītās formulās
  • Konfigurējamība
  • Koda sarežģītība un apmēri
  • Projekta ilgums
  • Sirmi mati

Tehnoloģijas:

  • Releaf CMS
  • Ruby on Rails
  • Rspec
  • SASS
  • jQuery
  • MySQL
  • Redis
  • MongoDB
  • HAML
  • SOAP
  • REST API

Releaf satura vadības sistēma

Periods: 2012.10.01 — pašlaik

Tehniski interesantākais projekts - Ruby on Rails satura vadības sistēmas izstrāde (SVS).

Izmantotās tehnoloģijas:

  • MySQL
  • PostgreSQL
  • Ruby On Rails
  • Rspec
  • HAML
  • SCSS (SASS)
  • JQuery
  • git

Releaf ir atvērta pirmkoda projekts (izmanto BSD licensi).

Latio majaslapa

Periods: 2014.01.29 — 2014.07.11

Tehnoloģijas:

  • Releaf satura vadības sistēma
  • Ruby on Rails
  • Rspec
  • MySQL
  • HAML
  • CSS
  • jquery
  • git

Viens no šī projekta interesantākajiem aspektiem ir fakts, ka jaunā sistēma tika izveidota pa virsu vecajai.

Nemitīgi mainīgā satura dēļ mēs izveidojām sarežģītu kešošanas mehānismu.

DNB internet bankas istrāde (frontend)

Periods: 2012.06.07 — 2013.04.23

Tehnoloģijas:

  • Leaf CMS
  • php
  • Smarty
  • CSS
  • jQuery
  • git

Latvijas American Express un Membership Rewards

Periods: 2013.02.11 — 2015.08.20

Projekta izstrādes laikā es biju atbildīgs par Releaf satura vadības sistēmas izstrādi un backend instrādi.

Galvenie izaicinājumi:

  • CMS izstrāde Ruby on Rails ietvaram
  • dažādu trešo pušu servisu integrācija
  • Bankas drošības prasību ievērošana

Pēc projekta nodošanas es turpināju to uzturēt līdz pat 2015 gada augusta beigām, kad pametu Cube Systems komandu.

Tehnoloģijas:

  • Releaf CMS
  • Ruby On Rails
  • Rspec
  • MySQL
  • HAML
  • CSS
  • javascript/jQuery
  • SOAP servisi
  • dažādu trešo pušu servisi
  • git

elbook - DNB bankas intranets

Periods: 2011.09.27 — 2013.02.14

Mans pirmais projekts Cube Systems komandā bija DNB bankas iekšējās dokumentu pārbaldības sistēmas izveide.

Mēs izveidojām pilnīgi jaunu sistemu un uzrakstijām skriptu, dokumentu importam no vecās sistēmas vienlaicīgi sapludinot lokalizētos dokumentus un izveidojot dokumentu saites (saistītiem dokumentiem).

Mēs arī izveidojām sarežģītu hierarhisku pielaižu sistēmu (grupām un individuāliem lietotājiem)

Tomēr vissarežģītākā funkcionalitāte ir saistīta ar dokumentu priekšskata attēlošanu. Sistēmā ievietotos dokumentus konvertēja uz normalizētiem HTML failiem, kā arī automātiski izveidoja saites starp saistītiem dokumentiem.

Iespējas:

  • Dokumentu priekšskats
  • Automātiska dokumentu saistīšana
  • Dokumentu koks
  • Dokumentu versionēšana
  • Sarežģītas hierarhiskas pielaides

Tehnoloģijas

  • Ruby on Rails
  • OpenOffice
  • MySQL
  • HAML
  • CSS
  • git

AirBaltic mājaslapas izstrāde (frontend)

Periods: 2012.11.27 — 2013.01.03

Mani palūdza palīdzētu ar dizaina "griezšanu", lai pabeigt projektu laikā.

Lielākais izaicinājums bija sataisīt sākumlapas galveno izvēlni atbilstoši dizainam, lai tā korekti strādātu (pašreizējā izvēlne AirBaltic mājaslapā ir daudz vienkāršāka nekā, tā, kuru savulaik izstrādāju es).

Izmantotās tehnoloģijas

  • Ruby On Rails
  • SCSS
  • jQuery
  • SQLite
  • sh
  • git

zfSnap

Periods: 2010.07.08 — 2014.03.01

Es esmu autors zfSnap - ZFS momentuzņēmumu pārvaldīšanas skripts.

Oriģināli šis projekts sākās kā diskusija FreeBSD forumā, kas pārauga koncepta pierādījumā, ka ZFS momentuzņēmumus var pārvaldīt uzrakstot vienkāršu Bourne Shell skriptu un nav nepieciešama citu programmēšanas valodu izmantošana.

Skripts ātri attīstījās un kļuva populārs. Kopš 2014. gada tā uzturēšanu esmu pārtraucis, bet jebkurš var "ziedot" kodu skripta attīstībai.