Joni Viholainen

  • MEAN (MongoDB, Express, Angular, Node.js)
  • HTML5, CSS, Javascript, jQuery, PHP, MySQL
  • Joomla, Wordpress, Moodle
  • Microsoft Office, LibreOffice, MySQL Workbench
  • Visual Studio Code
  • Bitbucket, GIT, SourceTree
  • Scrum, Slack
  • Google Analytics
  • Arduino, Raspberry Pi 2
  • C, C++, Java, mobiiliohjelmointi (Android)

Oppimassa:

  • MEAN, Python, PostgreSQL, Django Framework

Languages

  • Finnish - Native
  • English - Excellent
  • Swedish - Ok
  • Russian - Studying

CV / Ansioluettelo

TaskManager App (Angular, Node.js, MongoDB, Express)

Taskien lähettämiseen ja työstöönottoon tehty sovellus. Harjoitustyö ryhmässä oli neljä henkilöä. Sovelluksessa on sisäänkirjautuminen ja käyttäjiä kolmella eri tasolla: peruskäyttäjä, joka voi lisätä taskeja ja nähdä ne, advanced käyttäjä, joka voi edellisten lisäksi ottaa niitä työnalle ja admin-käyttäjä, jolla on lisäksi käyttäjähallinta.

Tein työssä pääasiassa sisäänkirjautumista, käyttäjätason mukaan elementtien näyttämistä, ulkoasua ja tietokantahakuja. MongoDB-tietokannan käyttö toi mukanaan omia haasteita MySQL-tietokantoihin tottuneena. Sovellus on toiminnassa Amazonin palvelimella ja vaatii sisäänkirjatumisen.

Arvauspeli (Javascript, HTML Canvas)

Javascriptillä tehty arvauspeli, jossa arvataan numeroa 1-100 väliltä. Pelissä syötetään nimi ja oma arvaus, jonka jälkeen peli kertoo onko tulos oikein, pienempi tai suurempi. Jos oma arvausmäärä on pienempi kuin nykyinen paras tulos, se tallennetaan localstorageen nimen kanssa talteen. Tein peliin testisilmukan ja testipainikkeita useiden pelien nopeaan testaamiseen. Aina pelin voitettua näytetään, millä arvausmäärillä arvauspeliä on voitettu. Pelin tulosten piirtäminen tehty canvakseen, vaikka se ei olisi tarpeen.

Ristinolla (Javascript, HTML Canvas)

Javascriptillä ja html canvasilla toteutettu ristinolla. Kaksi pelaajaa vuorotellen laittavat ristin tai nollan ja pyrkivät saamaan kolmen suoran voittaakseen. Peli toimii niin, että canvasta klikatessa hiiren kursorin sijainnin perusteella lasketaan klikattu ruutu. Paikalle sijoitetaan pelaan merkki, jos se on vapaa ja tarkastetaan tuleeko voittoa. Jos voittoa ei tule, vaihdetaan vuoro toiselle pelaajalle. Pelaamerkit on sijoitettu erilliseen yksiulotteiseen arrayhin, jonka tarkistamista varten on tehty nappi, joka kirjoittaa tiedon selaimen console logiin.

Ostoslista (Javascript, jQuery, HTML)

Lyhyt harjoitus, jossa voidaan merkitä tavaraa ostoslistaan. Tehtyjä toimintoja lisäys, poisto, listan tyhjennys ja muokkaus, kun klikkaa listalla olevan tuotteet nimeä.

Arduino ja Raspberry Pi

Muutama kuva ja video tekemiini harjoituksiin. Käytössä on Funduino Uno ja Raspberry Pi 2 Model B. Tavoite oli tehdä lämpömittari, jonka mittaustulokset tallentuisivat tietokantaan. Luin piiriin asennetusta thermistorista lämpötilan usb:n kautta. Työ jäi tietokannan osalta vaiheeseen ja tutustuin Johnny-fiveen, jonka avulla Arduino-piiriin pääsee helposti käsiksi node.js:n puolelta.

Pythonin, PostgreSQL:n ja Django Frameworkin opettelua

Opettelen Django Frameworkin käyttöä. Pythonia opettelin tekemällä Excel-tiedostoa varten tiedostotyypin muuttajan pyexcelin avulla. Tällöin apin tai muun väylän kautta ladattua tietoa voidaan yhtenäistää ja näyttää halutussa muodossa. Käytin työssä postiosoitteita sisältävää tiedostoa.

Sen jälkeen asensin PostgreSQL:n ja opettelin psycog2 avulla tietokantaan tiedon tallentamista.

Siinä sivussa asensin ConEmun, jolla tein batch tiedoston, jolla käynnistyy MongoDB-tietokanta, Node, Mongo-terminaali ja selaimeen Angular-projektin osoite.

Tällä hetkellä olen asentanut Djangon ja tutustumassa sen käyttöön. Tavoitteena on tehdä sovellus, jolla on mahdollista lukea apin kautta tietoa ja tallentaa tietokantaan, ja sieltä apin kautta haluttuun muotoon.

Oscar-tietokanta (MySQL)

Opiskeluaikana suunnittelimme tietokantakurssilla äänestystietokannan, jossa on tavoitteena arvata Oscar-palkinnon saavat elokuvat ja näyttelijät. Oikein arvanneet saavat pisteitä arvauksen osuvuuden mukaan. Työ tehtiin parityönä, jossa itse keskityin tietokannan mallintamiseen.

Asteroids

Aikoinaan Flash-kurssin harjoitustyönä tehty Asteroids-pelin klooni. Ohjelmointi tehty ActionScript 3:lla ja käyttää classeja pelaajan aluksen, asteroidien ja ammusten luontiin. Peliin on tehty mySQL-tietokannalla toimiva pistetilasto, joka tosin ei ole enää käytössä.

Contact

Puhelin: 0414582942

Email: joni.viholainen(a)gmail.com

Linkedin: Profiili