PelaajaRekisteri -FC TolppaSisään- PROJEKTISUUNNITELMA / Dokumentaatio
Tekijä(t) Kimmo Kärki Kka Päiväys: 13.9.2017
Tiivistelmä Pelaajarekisteri on Juniori jalkapallojoukkueita varten, johon he voivat tallentaa vuosittain tehtävät pelaajien fyysisten ja teknisten omaisuuksien testien tulokset. Näin eri vuosien testien vertailu on helpompaa. Lisäksi rekisteriä voidaan hyödyntää FotMana17- järjestelmäosan pelitulosten kirjaamiseen. Pelaajarekisteri on osa FotMana17 tietojärjestelmää. Projektin tavoitteena on hyödyntää uusimpia Internetin ohjelmointikieliä (mm. AngularJS, MongoDB, JSON). Suunnitelmana on edetä ja oppia asioita versio kerrallaan. Samalla toteutetaan ohjelmistokoodin ja ohjelmointiympäristön testausta. Versiot on dokumentoitu myöhemmin tässä dokumentissa.
Projektin tavoitteet, rajaus ja tulokset Tavoitteet: Toimiva pelaajarekisteri, joka tallentaa tiedot halutussa muodossa ja hakutoiminnot toimivat. Rajaus: Android-sovellusta ei toteuteta. Tulokset: Toimiva pelaajarekisteri, joka tallentaa tiedot halutussa muodossa ja hakutoiminnot toimivat.
Määrittelyt ja lyhenteet Nimike MongoDB AngularJS JSON HTML5 CSS3 UML Selitys MongoDB is a free and open-source cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. AngularJS is a JavaScript-based open-source front-end web application framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing singlepage applications. JSON is a language-independent data format. It was derived from JavaScript, but as of 2017 many programming languages include code to generate and parse JSON-format data. HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and current version of the HTML standard. Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language. Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system. Linux Sublime Text Linux is a Unix-like computer operating system assembled under the model of free and open-source software development and distribution. The defining component of Linux is the Linux kernel. Sublime Text is a proprietary cross-platform source code editor.
Projektiin hankittavat Laitteistot Linux käyttöjärjestelmän omaava tietokone. Jatkossa palvelintila, jossa Järjestelmää käytetään. Muut hankittavat laitteet on määritelty myöhemmin. Projektin tehtävät Tehtävä 1. Kuvaus: Riippuvuudet: - Vastuuhenkilö: Työntekijät: - Työmäärä: Projektisuunnitelman laatiminen Mietitään projektin aihe ja laaditaan projektisuunnitelma. Kka, 65 htkk Aikataulu: 06-07/2017 Tulos: Tehtävään käytetty työmäärä yhteensä: 65 htkk Yksilöi ja luettele tehtävässä syntyvät tulokset: - Projektisuunnitelma. Tehtävä 2. Kuvaus: Riippuvuudet: Vastuuhenkilö: Työntekijät: Laiteostot Hankitaan tarvittava laitteisto. Onko projektisuunnitelma tehty oikein. KKa Luetellaan muut tehtävään osallistuvat työntekijät: - KKa, 30 htkk Työmäärä: Tehtävään käytetty työmäärä yhteensä: 30 htkk Aikataulu: 6/2017 Laiteostot: Linux- tietokone Polar Loop 2 aktiivisuusranneke Tulos: - Tarvittava laitteisto ohjelmistokoodin tekemiseen.
Tehtävä 3. Kuvaus: Riippuvuudet: Ohjelmointiympäristön asennus Asennetaan ohjelmointiympäristö, (Linux, angular, mongodb ym.) Projektisuunnitelma on tehty Vastuuhenkilö: Kka, 60 htkk Työntekijät: Työmäärä: 60 htkk Aikataulu: 6 /2017 Tulos: - Ohjelmointiympäristö toimii. Tehtävä 4. Ohjelmistokoodin tekeminen Kuvaus: Ohjelmisto koodaus Riippuvuudet: Tarvittavat laitteet tulee olla hankittuna Vastuuhenkilö: Kka, 145 htkk Työntekijät: Työmäärä: Tehtävään käytetty työmäärä yhteensä: 140 htkk Aikataulu: 6-9/2017 Tulos: Toimiva ohjelmistokoodi. Tehtävä 5. Kuvaus: Riippuvuudet: Testaus Testataan ohjelmisto ja laitteiston toimivuus. Tehdään tarvittavat muutokset. Tehtävät 3 ja 4 ovat valmiit Vastuuhenkilö: Työmäärä: Kka, 65 htkk Aikataulu: 6-9 /2017 Tulos: Tehtävään käytetty työmäärä yhteensä: 65 htkk Yksilöi ja luettele tehtävässä syntyvät tulokset: - Toimiva Ohjelmisto.
Tehtävä 6. Kuvaus: Somen Hyödyntäminen Tiedotetaan Somessa järjestelmästä seuraavasti: - kkarki.com - WhatsApp - Twitter - Instagram - LinkedIn - Muut Mahdollisesti otetaan käyttöön PolarLoop2 activity tracker, jolla voidaan testata järjestelmän käyttäjiä. Riippuvuudet: Tehtävät 3, 4 ja 5 ovat valmiit Vastuuhenkilö: Työmäärä: Kka, 65 htkk Aikataulu: 6-9 /2017 Tulos: Tehtävään käytetty työmäärä yhteensä: 65 htkk Yksilöi ja luettele tehtävässä syntyvät tulokset: - Toimiva Some-ympäristö. Tehtävä 7. Kuvaus: Riippuvuudet: Vastuuhenkilö: Työntekijät: Projektin dokumentointi Projektidokumentaation päivittäminen, joka toteutetaan tämän suunnitelman yhteyteen. Ohjelmoinnin eteneminen KKa, 70 htkk Luetellaan muut tehtävään osallistuvat työntekijät: - Kka, 70 Työmäärä: Aikataulu: 6-9 /2017 Tehtävään käytetty työmäärä yhteensä: 70 htkk Tulos: Yksilöi ja luettele tehtävässä syntyvät tulokset: - Tulos 1, esim. Projektidokumentaatio - Tulos 2, esim. hankesuunnitelma - jne.
Tehtävä 8. Kuvaus: Riippuvuudet: Vastuuhenkilö: Palvelintilan kartoittaminen Palvelintilan kartoittaminen, joka tukee Angularia ja MongoDB:tä. Tehtävien 1-6 tapahtumien toteutuminen Kka, 20 h Työntekijät: Luetellaan muut tehtävään osallistuvat työntekijät: - KKa, 20 htkk - Nimi ja työmääräarvio, htkk - Nimi ja työmääräarvio, htkk Työmäärä: Tehtävään käytetty työmäärä yhteensä: 10 htkk Aikataulu: 8-9/2017 Alihankintaostot:? htkk / Laiteostot: Luettelo tehtävän vaatimista laiteostoista ja niiden hinnoista: Laite1,?, Palvelintila Tulos: Yksilöi ja luettele tehtävässä syntyvät tulokset: - Tulos 1, esim. palvelintilan kartoittaminen Projektin Aikataulu. Projektin aikataulu liitteenä.
Projektin kuvaus manuaali kuvaus
Use Case- diagram Oheisessa käyttötapauskaaviossa on kuvattu kaikki toiminnot, jotka ohjelmistolla on pystyttävä suorittamaan.
Class Diagram Tietokantasuunnitelma.
Resurssit ja organisaatio Projektipäällikkö: Projektiryhmän jäsenet: - Johtoryhmän /tukiryhmän jäsenet: Alihankkijat: - Erikoislaite- ja/tai ohjelmistoresurssit: Kimmo Kärki Erno Hentonen - Työmäärä ja kustannusarvio Työmäärät (htkk): Projektin työmäärät tehtävittäin v. 2017 (htkk) Projektisuunnitelman laatiminen 65 Laiteostot 30 Ohjelmointiympäristön asennus 60 Ohjelmistokoodin tekeminen 145 v. 200z (htkk) YHTEENSÄ (htkk) Testaus 65 Somen hyödyntäminen 65 Projektin dokumentointi 70 Palvelintilan kartoittaminen 20 YHTEENSÄ 520 h 74,2 pv
Kustannusarvio (1000 ) Kustannuslaji v. 200x v. 200z v. 200y Yhteensä % Rahapalkka Henkilösivukustannukset Yleiskustannukset Matkat Aineet ja tarvikkeet Laiteostot Laitepoistot /-vuokrat Ostettavat palvelut pk yrityksiltä tutkimuslaitoksilta konserni /intressiyrityksiltä muilta organisaatioilta Yhteensä Jatkomahdollisuudet Projektista voidaan tehdä mobiiliversio puhelimelle / tableteille. Kokonaisuudesta voidaan myös tehdä tyylikkään näköinen www- sovellus hyödyntäen Mongoa, JSONia, Angularia, Hmtl5 ja CSS3 kieltä. Riskien arviointi Projektin riskeiksi arvioidaan: Riski 1 Kuvaus: Vakavuus: Osaamisen ja avun puute Koodin osaamisen puute. Ja resurssien puutteessa ohjauksen tarvittava saaminen. Suuri Todennäköisyys (%): 60 % Varautuminen: Vaikutus: Koulutuksen pidentäminen. Saattaa jäädä localhost tasolle.
Riski 2 Kuvaus: Vakavuus: Tiukka aikataulu Projektia ei ehditä toteuttaa tavoitteen mukaisesti Suuri Todennäköisyys (%): 70 % Varautuminen: Vaikutus: Koulutuksen pidentäminen. Projektia voidaan jatkaa syksyllä harrastuksena. Saattaa jäädä localhost tasolle. Riski 3 Kuvaus: Vakavuus: Taloudelliset resurssit Projektiin tarvittavia laitteita ei saada hankituksi. Suuri Todennäköisyys (%): 40 % Varautuminen: Vaikutus: Pyritään hankkimaan vanhoja läppäreitä halvalla, johon voidaan asentaa ohjelmointiympristö. Toteuttaminen vaikeutuu. Liitteet Liite 1. Liite 2. Liite 3. Projektin aikataulu Projektidokumentaatio / Versionhallinta Angular / Mongo projektin luominen Linux - ympäristössä
Liite 1. Projektin aikataulu - Projektisuunnitelman laatiminen - Laiteostot - Ohjelmointiympäristön asennus - Ohjelmistokoodin tekeminen v. 2017 v. 20xx 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 - Testaus - Somen hyödyntäminen - Projektin dokumentointi - Palvelintilan kartoittaminen Tarkistuspisteet:
Liite 2. Projektidokumentaatio / Versionhallinta Jokaisesta koodimuutoksesta on luotu oma versio, koska Linux/angular ympäristö ei vaikuttanut kovinkaan luotettavalta. Tämän tulemme huomaamaan projektin myöhemmissä vaiheissa. Player1 (19.6.2017) Kuvaus: Projektin 1 versio, jossa syötetään tietoja HTML lomakkeen kautta. Tietoja ei vielä tallenneta mihinkään. Kuva 1. Liite 1. player1.zip
Player2 (3.7.2017) Kuvaus: Projektin 2 versio, jossa syötetään tietoja HTML lomakkeen kautta. Tiedot lisätään main-js tiedostossa PlayerControllerin avulla Data-tietueeseen, ei tietokantaan. /* $scope.addplayer = function() { $http({ method: "POST", */ Kuva 1. Kuva 2. Liite 1. player2.zip
Player3 (4.7.2017) Kuvaus: Projektin 3 vaiheessa on otettu käyttöön RouteProvider, joiden avulla kontrolloidaan, mitä tulee näkyviin www-sivuille. Varsinaiset sivut sijaitsevat Views- kansiossa. Projektissa hyödynnetään myös JSON- muotoa. Kuva 1. Kuva 2.
Kuva 3. Liite player3.zip
Player4 (7.7.2017) Kuvaus: Projektin 4 vaiheessa on otettu käyttöön mongodb tietokanta (playerdb) ja sen collectioneja, johon tiedot syötetään ja haetaan sieltä. Projektissa hyödynnetään myös JSON- muotoa. var Schema = mongoose.schema; var Player = new Schema({ id:number, type:string, price:number }); Kuva 1. Kuva 2.
Kuva 3. Kuva 4. Kuva 5.
Kuva 6.
Player 5 (20.7.2017) Kuvaus: Projektin 5 vaiheessa on otettu käyttöön mongodb tietokanta (playerdb) ja sen collec tioneja, johon tiedot syötetään ja haetaan sieltä. Tietokantaan on sijoitettu tietoja, joita projektisuunnitelmassa on määritelty. Projektissa hyödynnetään myös JSON- muotoa. var Player = new Schema({ id:number, type:string, price:number, numero:number, adress:string, kunta:string, uname:string, pword:string }); Kuva 1. Kuva 2.
Kuva 3. Liite player5.zip
Player 6 (25.7.2017) Kuvaus: Projektin 6 vaiheessa on otettu käyttöön mongodb tietokanta (playerdb) ja sen collec tioneja, johon tiedot syötetään ja haetaan sieltä. Tietokantaan on sijoitettu tietoja, joita projektisuunnitelmassa on määritelty. On luotu uusi Schema Parents. Projektissa hyödyn netään myös JSON- muotoa. var Parent = new Schema({ parentid:number, name:string, addres:string, postal:number, county:string, phone:number, email:string, uname:string, pword:string }); Kuva 1. Kuva 2. Liite player6.zip
Player 7 (28.7.2017) Kuvaus: Projektin 7 vaiheessa on otettu käyttöön mongodb tietokanta (playerdb) ja sen collec tioneja, johon tiedot syötetään ja haetaan sieltä. Tietokantaan on sijoitettu tietoja, joita projektisuunnitelmassa on määritelty. On luotu uusi Schema Results. Projektissa hyödyn netään myös JSON- muotoa. var Result = new Schema({ id:number, year:number, thirtymeter:string, thirtymin:string, highjump:number, longjump:string, ballbounce:number}); Kuva 1. Kuva 2. Liite player7.zip
Player 8 (4.8.2017) Kuvaus: Projektin 8 vaiheessa on tehty poista pelaaja -toiminto ja otettu käyttöön oma css-tiedosto. Kuva 1. Kuva 2. Liite player8.zip
Player 9 (8.8.2017) Kuvaus: Projektin 9 vaiheessa on kokeiltu uutta käyttöliittymää (index.html), joka on tehty uusim malla JS-tekniikalla. Kuva 1. Liite: player9.zip
Player 10 (14.8.2017) Kuvaus: Projektin 10 vaiheessa lisättiin kaikki huoltajat -toiminto. Tässä vaiheessa koodikone alkoi osoitella hiipumisen merkkejä, sillä esim USB-portit lakkasivat toimimasta. Kuva 1. Liite: player10.zip Player 11 (18.8.2017) Kuvaus: Projektin 11 vaiheessa testattiin että kaikki toiminnot toimivat ja lisättiin Poista pelaaja - toiminto.
Kuva 1. Kuva 2. Liite: player11.zip
Player 12 (28.8.2017) Kuvaus: Virhekoodi: Ennen jatkoa piti asentaa uusi kone ja ohjelmointiympäristö (Linux, angular, jne.. ) uudel leen, koska edellinen Linux-kone hajosi. Projektin 12 vaiheessa testattiin että kaikki toimin not toimivat ja lisättiin Hae tuloksia - toiminto. Toteutusvaiheessa tuli kuitenkin virhe, johon ei vielä ole löytynyt vikaa. Possibly unhandled rejection: {"data":"<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf- 8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Cannot GET /api/results1</pre>\n</body>\n</html>\n","status":404,"config":{"method":"ge T","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam": "callback","url":"api/results1","headers":{"accept":"application/json, text/plain, */*"}},"statustext":"not Found"}
Kuva 1. Liite: player12.zip
Player 14 (5.9.2017) Kuvaus: Ennen jatkoa piti asentaa uusi kone ja ohjelmointiympäristö (Linux, angular, jne.. ) uudel leen, koska edellinen Linux-kone hajosi. Uuden ympäristön kanssa oli vaikeuksia (mm. SubLimeTextin kanssa), mutta yrityksen ja erehdyksen kautta asiat alkoivat toimia. Projektin 14 vaiheessa Lisättiin kirjautumissivu ja muut toiminnot sen taakse, ei muuta. Kuva 1. Liite: 14.zip
Player 17 (13.9.2017) Kuvaus: Projektin 17 vaiheessa yritettiin laittaa kirjautumissivu toimimaan, mutta jossain on toimin tavirhe. Todennäköisesti virhe on controllereiden ja factoreiden käytössä. toimintavir hettä etsitään yhä. Kuva 1.
Palvelintilan kartoittaminen Parhaat MongoDB -hosting-yritykset 2017 löytyivät sivulta https://fi.hostadvice.com/hosting-companies/mongodb/, jossa kerrotaan seuraavaa: Löydä sinulle täydellinen MongoDB-hosting asiantuntijoiden ja tuhansien käyttäjien arvioiden avulla MongoDB on NoSQL tietokannan kehys, jota käytetään ohjelmoinnissa ja internetsovelluksisa vaihtoehtona MySQL:lle johtuen sen parannetusta kyvystä skaalata & prosessoida pyyntöjä nopeammilla vauhdeilla. Vertailun pohjalta paras vaihtoehto voisi olla https://www.a2hosting.com/,jonka mainoksessa kerrotaan: High Powered Web Hosting For Your Unique Needs! We have a blazing fast web hosting solution perfect for you! Whether you have a low traffic, brand new blog or own a popular business site, A2 Hosting has got you covered! Whether you've never run a website before or are a professional developer, rest assured we have a web hosting solution to meet your unique needs! Starting at 11.07 EUR monthly. - Host your own customers - Easily setup individual hosting accounts - Fully white-labeled - World class WHM control panel Palvelintilaa ei hankita taloudellisen tilanteen takia. Tämä sen takia, että minulla on ollut jo vuosikymmenen ajan oma palvelintila ja web-domain, jolla on jo hiukan tunnettavuutta. Jos joskus saan palkkaa valmentamisesta, harkitsen vakavasti järjestelmän käyttöönottamista.
Sosiaalisen median hyödyntäminen www.kkarki.com Projektisuunnitelma ja dokumentaatio laitetaan www-sivuille auttamaan työnhakua.
FaceBook Facebook on Internetissä toimiva mainosrahoitteinen yhteisöpalvelu. Sivusto tarjoaa käyttäjille mahdollisuuden kuvallisen käyttäjäprofiilin luomiseen sekä yhteydenpitoon ystäviensä kanssa. Facebookissa on myös mahdollista liittyä erilaisiin yhteisöihin ja saada tietoa tulevista tapahtumista. Facebookin liikeidea on myydä mainostajille mahdollisuutta lähettää palvelun kautta käyttäjille kohdennettua mainontaa. Kun järjestelmää hyödynnetään, facebookiin perustetaan omat sivut. Tällä hetkellä tietoja voidaan tarvittaessa laittaa omille sivuilleni (Kimmo Kärki). WhatsApp WhatsApp Messenger on Brian Actonin ja Jan Koumin vuonna 2009[1] julkaisema alustariippumaton pikaviestinpalvelu älypuhelimille. Sillä pystyy tekstin lisäksi lähettämään kuvia, videoita ja ääniviestejä sekä soittamaan puheluita ja videopuheluita, joiden lisäksi pystyy jakamaan oman sijainnin netin tai GPS:n kautta sekä jakamaan omia yhteystietoja. Kun järjestelmää hyödynnetään, perustetaan oma ryhmä.
Twitter Twitter on yhteisö- ja mikroblogipalvelu, jonka käyttäjät pystyvät lähettämään ja lukemaan toistensa päivityksiä internetissä. Tekstipohjaiset viestit eli tviitit (twiitit, englanniksi tweet), voivat sisältää korkeintaan 140 merkkiä. Tarvittaessa voidaan jakaa tietoa oman twitterin kautta (Kimmo Kärki). Instagram Instagram on ilmainen kuvien jakopalvelu ja sosiaalinen verkosto, joka avattiin lokakuussa 2010. Palvelun avulla käyttäjät voivat jakaa kuvia ja videoita sekä kommentoida ja tykätä toistensa jakamasta sisällöstä. Kuvia ja videoita voi muokata erilaisilla filttereillä. Tarvittaessa voidaan jakaa tietoa oman instagramin kautta (Kimmo Kärki).
LinkedInn LinkedIn on sosiaalisen median palvelu, jossa verkostoidutaan ammatillisesti. LinkedInin jokaisella käyttäjällä on oma profiili, joka vastaa suunnilleen julkista CV:tä. Voit toki itse valita mitä itsestäsi kerrot kaikkea ei tarvitse julkaista! Projektisuunnitelma ja dokumentaatio laitetaan palveluun auttamaan työnhakua. PolarLoop2 Polar Loop 2 on tyylikäs ja vedenkestävä aktiivisuusranneke, joka pitää sinut liikkeessä. Tämä hienostunut ranneke seuraa päivittäistä aktiivisuuttasi ja unenlaatuasi sekä opastaa ja motivoi terveellisen ja liikunnallisen elämäntavan omaksumiseen. Polar Loopin avulla voidaan seurata projektiin osallistuvien aktiivisuutta ja kulutusta tapahtumien aikana.
Yhteenveto Ohjelmoinnin osalta projektin toteuttaminen oli haastavaa ja riskit 1-2 toteutuivat.. Oma osaaminen ei riittänyt, joten ohjausta olisi tarvinnut enemmän, esimerkiksi sähköpostitse. Mutta oppiminen oli mielekästä ja haasteita jäi tulevaisuuteen. Riski 3 onnistuttiin välttämään ennakoimalla ja hankkimalla koneita (ks. kuva työtilasta). Muidenkin asioiden oppiminen oli mielenkiintoista. Kurssista oli hyötyä tulevaisuuteen.
Työpiste Työtila, jossa projekti toteutettiin.
Angular / Mongo projektin luominen Linux ympäristössä, Liite 3. A. Käynnistä MongoDB Linux Terminalissa. /*** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~$ sudo service mongod start [sudo] password for kimmo: kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~$ mongo MongoDB shell version: 3.0.14 connecting to: test Server has startup warnings: 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] **/ B. Mene luomaasi ProjektiKansioon /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~$ cd PelaajaRekisteri kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ C. Luo Projekti ja antamalla komento /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri $ npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help json` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg> --save` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. name: (PelaajaRekisteri) Sorry, name can no longer contain capital letters. name: (PelaajaRekisteri) pelaajarekisteri
version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /home/kimmo/pelaajarekisteri/package.json: { "name": "pelaajarekisteri", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes) kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ D. Saat Projektikansioosi seuraavan tiedoston
E. Asenna express; /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ npm install express pelaajarekisteri@1.0.0 /home/kimmo/pelaajarekisteri express@4.15.3 extraneous npm WARN pelaajarekisteri@1.0.0 No description npm WARN pelaajarekisteri@1.0.0 No repository field. kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ F. Asenna Body-parser; /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ npm install body-parser --save pelaajarekisteri@1.0.0 /home/kimmo/pelaajarekisteri body-parser@1.17.2 bytes@2.4.0 iconv-lite@0.4.15 raw-body@2.2.0 express@4.15.3 extraneous npm WARN pelaajarekisteri@1.0.0 No description npm WARN pelaajarekisteri@1.0.0 No repository field. kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ G. Asenna Mongoose /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ npm install mongoose - -save pelaajarekisteri@1.0.0 /home/kimmo/pelaajarekisteri express@4.15.3 extraneous mongoose@4.10.5 async@2.1.4 lodash@4.17.4 bson@1.0.4 hooks-fixed@2.0.0 kareem@1.4.1 mongodb@2.2.27 es6-promise@3.2.1 mongodb-core@2.1.11 require_optional@1.0.0
resolve-from@2.0.0 semver@5.3.0 readable-stream@2.2.7 buffer-shims@1.0.0 core-util-is@1.0.2 isarray@1.0.0 process-nextick-args@1.0.7 string_decoder@1.0.2 safe-buffer@5.0.1 util-deprecate@1.0.2 mpath@0.3.0 mpromise@0.5.5 mquery@2.3.1 bluebird@2.10.2 debug@2.6.8 sliced@0.0.5 muri@1.2.1 regexp-clone@0.0.1 sliced@1.0.1 npm WARN pelaajarekisteri@1.0.0 No description npm WARN pelaajarekisteri@1.0.0 No repository field. kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ G. Olet saanut seuraavat tiedot projektikansioosi
H. Tee Kansiorakenne Projektikansioosi ja/tai kopioi mahdolliset pohjatiedostot
I. Asenna jsonwebtoken /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ sudo npm install jsonwebtoken [sudo] password for kimmo: pelaajarekisteri@1.0.0 /home/kimmo/pelaajarekisteri express@4.15.3 extraneous jsonwebtoken@7.4.1 extraneous npm WARN pelaajarekisteri@1.0.0 No description npm WARN pelaajarekisteri@1.0.0 No repository field. kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ **/ J. Käynnistä Projekti /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~/pelaajarekisteri$ node app Running at port 3000 ** Testaa; http://localhost:3000/#/ Terminalissa voi myös testata onko tieto mennyt mongoon /** kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~$ sudo service mongod start [sudo] password for kimmo: kimmo@kimmo-hp-elitebook-8440p-vq661ea-ak8:~$ mongo MongoDB shell version: 3.0.14 connecting to: test Server has startup warnings: 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2017-05-26T10:08:06.459+0300 I CONTROL [initandlisten]
> use cardb switched to db cardb > show collections > db.cars.find() >db.players.drop()