Git Product home page Git Product logo

foodmaster's Introduction


Food Master - ruokasovellus

Jokaisen herkkusuun ykkösvalinta
Live - Esittelyvideo

Tietoa projektista

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.

Käytetyt teknologiat

Projektin käyttöönotto ja esittely

Projektin saat käyttöön seuraamalla alla olevia ohjeita.

Esivaatimukset

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

Paikallinen käyttöönotto

Alta löydät ohjeet sovelluksen käyttöönottoon paikallisessa kehitysympäristössä. Kaikki tarvittava sovelluksen käynnistystä varten löytyy tästä dokumentista.

  1. Kloonaa repository
    git clone https://github.com/OAMKWebOhjelmoinninSovellusprojekti-r6/web-app.git
  2. Asenna tarvittavat NodeJS-kirjastot palvelinohjelmalle ./server
    npm install
  3. Asenna tarvittavat NodeJS-kirjastot asiakassovellukselle ./client
     npm install
  4. Aja tietokantarakenne tiedostosta server/db.sql
     sudo mysql -u root -p webapp < db.sql
  5. 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
  6. Aseta tarvittavat ympäristömuuttujat asiakassovellukseen client/.env
     REACT_APP_SERVER_HOST=http://localhost:3000
  7. Käynnistä palvelinsovellus kansiosta ./server
    npm start
  8. Käynnistä asiakassovellus kansiosta ./client
     npm start

Sovelluksen käyttö

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.

etusivu

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.

Lisenssi

Jaettu MIT lisenssin alaisena.

Projektin tekijät

  • Antti Haverinen
  • Gerhard Klemola
  • Tomi Niemelä
  • Henry Väisänen

Linkki projektiin: https://github.com/OAMKWebOhjelmoinninSovellusprojekti-r6

foodmaster's People

Contributors

henrvais avatar akahardzzz0011 avatar amppu avatar gittomi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.