Giter Site home page Giter Site logo

hy-restaurant-app's Introduction

hy-restaurant-app

Sovelluksen avulla voi löytää ravintoloita kartalta, etsiä niistä tietoa, arvostella niitä ja lukea muiden arvosteluita.

Sovelluksen ominaisuuksia ovat:

  • Käyttäjä voi kirjautua sisään tai luoda uuden tunnuksen. Jokainen käyttäjä on joko peruskäyttäjä tai ylläpitäjä.
  • Käyttäjä näkee ravintolat kartalla. Ravintolaa klikatessa näytetään siihen liittyvää informaatiota (kuvaus, aukioloajat, jne.)
  • Käyttäjä voi antaa ravintolalle arvion (tähdet 1-5 ja vapaamuotoinen kommentti)
  • Käyttäjä voi lukea muiden kirjoittamia arvioita
  • Ylläpitäjä voi lisätä ja poistaa ravintoloita, sekä määritellä ravintolasta näytettävät tiedot
  • Käyttäjä voi hakea ravintoloita avainsanojen perusteella, joita etsitään ravintoloiden nimistä ja kuvauksista.
  • Käyttäjä näkee ravintolat listassa, jossa ravintolat voidaan järjestää ainakin arvostelujen perusteella.
  • Ylläpitäjä pystyy poistamaan käyttäjän arvion ravintolalta
  • Ylläpitäjä voi luoda ryhmiä, joihin ravintolat voidaan luokitella. Ravintola voi kuulua yhteen tai useampaan ryhmään.

Usage

To run, set up a PostgreSQL database with the University of Helsinki's installation script.

Once you have PostgreSQL up and running, open the Postgres front-end by running psql and run the SQL queries in schema.sql.

You can also do that by creating the database with:

$ psql
user=# CREATE DATABASE <database-name>;

and then running the following command on the command line:

$ psql -d <database-name> < schema.sql

After PostgreSQL has been set up, create a virtual environment (optional) and install the required Python dependencies with:

# Optional
$ python3 -m venv venv 
$ source venv/bin/activate # For Linux

# Required
$ pip3 install -r requirements.txt

Finally create an .env file to the project's root with the following content:

DATABASE_URL=postgresql+psycopg2:///<database-name>

Now you can run the application with the following command:

$ DB_SECRET=<secret> flask --app app/app.py run

Generate yourself a secret using e.g. the Python terminal:

$ python3
>>> import secrets
>>> secrets.token_hex(16)

hy-restaurant-app's People

Contributors

volepp avatar

Watchers

 avatar

hy-restaurant-app's Issues

Toinen vertaisarviointi

Käynnistysohjeet ovat muuten toimivat, mutta .env-tiedosto piti älytä tehdä itse. Commitit vaikuttavat oikean kokoisilta. Koodi näyttää siistiltä, tosin se eroaa kurssimateriaalista jonkin verran, joten en ymmärrä siitä kaikkea.

Sovelluksen ulkoasu näyttää hyvältä. Käytettävyyden kannalta hankalinta on varmaankin uloskirjautumispainikkeen puuttuminen. Sovelluksen ominaisuudet toimivat ongelmitta. Hakutoiminnot ovat monipuoliset ja hyvät. Sellainen hakutoiminto olisi tosin hyvä olla, jossa ravintolaa voi etsiä tarkasti tietyllä nimellä. Sivun rakenne ei myöskään toimi kunnolla, kun ravintoloita on paljon. Tämän voisi ratkaista esimerkiksi rajaamalla etusivulla näkyvien ravintoloiden määrää. Käyttäjät voivat myös antaa useita arvosteluita ja siten vaikuttaa ravintoloiden tähtien keskiarvoon rajattomasti.

Kokonaisuutena sovellus toimii hyvin ja näyttää hyvältä. Muutamalla lisäominaisuudella se olisi mielestäni erinomainen ja luultavasti paljon parempi, kuin tällä kurssilla vaaditaan.

Vertaisarviointi 4.6.2024

Sain hyvin luotua uuden tunnuksen ja kirjauduttua sisään. Ulkoasu näytti jo tässä vaiheessa tyylikkäältä. Loin ensin peruskäyttäjän tunnuksen ja sen jälkeen admin-tunnuksen. Testaustilanteessa oli kätevää, että tunnusta luodessa pystyi valitsemaan, luoko admin-tunnuksen. Toki muutoin adminiksi määrittäminen kannattaa ehkä tapahtua jotenkin muuten (siis ilman, että käyttäjä voi itse päättää olevansa admin). Karttanäkymä näyttää hienolta. Kartta tosin toistui useaan kertaan, kun zoomasi kauemmas, mutta tämä ei varsinaisesti häirinnyt käyttöä. Uuden ravintolan lisääminen kartalle onnistui hyvin. Myös search-toiminto toimi hyvin. Ehkä voisi miettiä, että voisiko ravintola tulla tuloksiin huolimatta siitä, kirjoittaako ravintolan nimen isolla vai pienellä alkukirjaimella. Myös arvostelujen lisääminen sujui helposti. En vielä keksinyt, että miten ylläpitäjänä pystyn poistamaan ravintolan listalta. Koodin osalta mietin, että oliko jokin erityinen syy miksi app.py oli omassa kansiossa eikä juuressa, jolloin sen käynnistäminen kävisi hieman helpommin "flask run"-komennolla? Kaikenkaikkiaan sovellusta oli mukava käyttää ja se näyttää hyvältä jo tässä vaiheessa!

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.