Jokaisen herkkusuun ykkösvalinta
Live
-
Esittelyvideo
Tämä dokumentti kertoo keväällä 2022 Oulun ammattikorkeakoulussa ryhmän 6 tekemästä projektityöstä, jonka tarkoituksena oli saada aikaan toimiva ruuantilaussovellus. Työn tavoitteena oli saada toimiva nettisivu, johon käyttäjä voisi tehdä tunnukset, selata sovelluksessa olevia ravintoloita, sekä tehdä kuvitteellinen ruokatilaus valitsemalla ravintolan ruokalistalta haluamiansa ruokia. Lisäksi korkean arvosanan saavuttamiseksi vaatimuksina oli myös erilliset toiminnallisuudet ravintolan omistajalle, joka pystyisi luomaan palveluun uusia ravintoloita ja lisäämään tuotteita omien ravintoloiden ruokalistoille.
Projektin saat käyttöön seuraamalla alla olevia ohjeita.
Projektin esimerkkiohjeissa on käytetty Ubuntu-käyttöjärjestelmää. Projektia varten tarvittavat paketit
-
Mysql
sudo apt install mysql-server
-
Node
sudo apt install nodejs
Alta löydät ohjeet sovelluksen käyttöönottoon paikallisessa kehitysympäristössä. Kaikki tarvittava sovelluksen käynnistystä varten löytyy tästä dokumentista.
- Kloonaa repository
git clone https://github.com/OAMKWebOhjelmoinninSovellusprojekti-r6/web-app.git
- Asenna tarvittavat NodeJS-kirjastot palvelinohjelmalle
./server
npm install
- Asenna tarvittavat NodeJS-kirjastot asiakassovellukselle
./client
npm install
- Aja tietokantarakenne tiedostosta
server/db.sql
sudo mysql -u root -p webapp < db.sql
- Aseta tarvittavat ympäristömuuttujat palvelinsovellukseen
server/.env
MYSQL_CONNECTION_LIMIT=10 // sallittujen tietokantayhteyksien maksimimäärä MYSQL_HOST=localhost // mysql-tietokannan paikallinen osoite MYSQL_USER=dbuser // mysql-tietokannan käyttäjätunnus MYSQL_PASSWORD=wordpass321 // mysql-tietokannan salasana MYSQL_DATABASE=foodmaster // mysql-tietokannan nimi TOKEN_SECRET=asdf1234 // JWT Access tokenin hash merkkijono TOKEN_EXPIRE=10m // JWT Access tokenin erääntymisaika
- Aseta tarvittavat ympäristömuuttujat asiakassovellukseen
client/.env
REACT_APP_SERVER_HOST=http://localhost:3000
- Käynnistä palvelinsovellus kansiosta
./server
npm start
- Käynnistä asiakassovellus kansiosta
./client
npm start
Sovelluksessa käyttäjä voi tehdä ravintoloista ruokatilauksia. Sovelluksen päänäkymässä käyttäjä voi selata ravintoloita rekisteröitymättä. Päänäkymässä on myös mahdollista kirjautua sisään tai luoda uusi käyttäjätunnus.
Rekisteröitynyt asiakas voi lisätä ravintoloiden tuotteita ostoskoriin ja muokata tuotemääriä ja poistaa tuotteita ostoskorista. Toimitusosoitteen muuttaminen onnistuu ostoskorinäkymästä. Tilauksen tehtyä tästä tallentuu tiedot tilaushistoriaan, joita asiakas voi myöhemmin selailla.
Ravintolan omistaja voi luoda omalla käyttäjätunnuksella ravintoloita ja lisätä tuotteita ravintolan näkymään. Lisäksi omistaja voi selata ravintolakohtaisesti tehtyjä tilauksia.
Jaettu MIT lisenssin alaisena.
- Antti Haverinen
- Gerhard Klemola
- Tomi Niemelä
- Henry Väisänen
Linkki projektiin: https://github.com/OAMKWebOhjelmoinninSovellusprojekti-r6