Coder Social home page Coder Social logo

matsmart's Introduction

Matsmart Matsmart-logo

Gruppeprosjekt i TDT4140 fra 2. klasse på NTNU. Teknologistakken inkluderer Django, PostgreSQL, Tailwind CSS og docker. Hovedfokuset i emnet var på Scrum-prosessen og ikke nødvendigvis på bruk av teknologi. Vi simulerte et kundestyrt prosjekt hvor vi konferte ukentlig med en ekstern produkteier, planla og gjennomføre flere sprinter, avholdt to produktdemonstrasjoner og benyttet parprogrammering. Vi eksperimenterte og evaluerte flere smidige utviklingspraksiser fra pensum underveis.

Produktbeskrivelse

Under følger den originale produktbeskrivelsen fra produkteier.

Produktvisjon Gjøre deling av matoppskrifter så enkelt, informativt og effektivt som mulig.

Beskrivelse Jeg står ofte i butikken uten å vite hva jeg skal lage til middag. Dette tror jeg er noe flere kjenner seg igjen i, og jeg ønsker derfor en løsning som kan hjelpe meg med oppskrifter både i hverdagen og til festligheter.

Jeg vil ha en strukturert plattform der man kan opprette, dele og lett finne frem til oppskrifter på matretter. Jeg vil ha persistent lagring av data på plattformen (Oppskrifter, brukere, o.l.). I tillegg hadde jeg satt pris på kategorisering av oppskrifter, samt muligheten for å rangere en rett jeg har prøvd.

For å sikre seriøse brukere ønsker jeg at man må logge seg inn med passord på egen bruker for å få tilgang til oppskriftene på applikasjonen (dere kan bestemme selv om dere vil lage en MVP uten innlogging for å komme raskt i gang med arbeidet). Hver bruker skal ha mulighet til å legge inn (og redigere) bilde, beskrivelse og andre elementer som skal være synlig for andre. Jeg ønsker også at oppskrifter er knyttet til brukerne som opprettet disse. Jeg ønsker også at eieren av plattformen skal kunne slette oppskrifter, og brukere som bryter retningslinjer.

Jeg har ikke bestemt om det skal være mobil-app eller nettside, men det er viktig med et bra design.

Skjermdumper

Oppskriftsoversikt

Skjermdump av oppskriftsoversikt

Søkefunksjonalitet

Skjermdump av søkemotor

Mobilversjon

Skjermdump av mobilvesjon

Installasjon

Prosjektet MatSmart er satt opp i Docker. Dette er gjort for å sikre lik deployment uansett operativsystem, og for å streamline installasjonsprosessen.

  1. Installer Docker
  2. Bygg og start applikasjonen:
    docker-compose up
    
Merknad for Windows-brukere

Windows bruker Git sin Bash interpreter til å kjøre django_entrypoint.sh, som forventer linjeskift i UNIX-stil. Git vil automatisk endre unix stil linjeskift til dos ved git pull på windows. For at scriptet skal kjøres uten feil må linjeskiftstilen endres. Dette kan gjøres i de fleste tekstredigeringsverktøy, eller under WSL med verktøyet dos2unix.


Adminpanel

Brukernavn Passord URL
admin matvrak adminpanel

Django-apps og intern linking

  • Apps ligger i matsmart/apps og HTML templates legges i matsmart/apps/ navn-på-app /templates/.
  • I filen urls.py for hver app kobles URLer med funksjoner. Eksempel:
app_name = 'navn-på-app'

# create a list of URL patterns corresponding to various view functions
urlpatterns = [
    path('', views.profile_page, name='profile_page_self'),
    path("logg-inn/", views.login_request, name="login"),
    path("logg-ut/", views.logout_request, name="logout"),
]
  • app_name og urlpattern name kan refereres til globalt. F.eks. kan en link i en HTML-template se slik ut:
<a href="{% url 'profiles:login' %}">Logg inn</a>

Tester

Kjør tester

Kjør coverage run (fra samme mappe som manage.py).

Testdekningsgrad

coverage.py gir oversikt via coverage report -m eller coverage html

matsmart's People

Contributors

fredrikrab avatar

Watchers

 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.