Skip to content

Nabla-NTNU/nablaweb

Repository files navigation

Nablaweb

Code style: black Python linting Python testing

Velkommen til nablaweb!

All python-kode, html, css, javascript og andre statiske filer som har med http://nabla.no skal ligge her.

Backenddelen av Nablas nettside er skrevet i django.

For å komme i gang med Nablaweb, sjekk wikien.

Systemavhengigheter (ufullstendig)

  • python 3.9
  • pipenv
  • npm (nodejs)
  • libmagickwand-dev (ImageMagick) (trenges kun dersom du lager et nablad-objekt)

Mappestruktur

  • nablapps -- Inneholder alle djangoappene
    • accounts -- Brukere (grunnleggende ting som registrering og profil)
    • album -- For bilder til visning i album
    • blog -- Bloggsystemet
    • bedpres -- Bedriftspresentasjoner, arver fra event
    • com -- Komitesider
    • contact -- For tilbakemelding til Webkom
    • core -- For sentrale funksjoner som ikke hører hjemme i egen app (se egen README)
    • events -- Arrangementer
    • exchange -- For info om utveksling
    • image -- For bilder til bruk i Markdown
    • interactive -- Julekalender, quizer, brukertester og kodegolf
    • jobs -- Stillingsannonser
    • meeting-records -- Styret sine møtereferater
    • nabladet -- pdf-filer av Nabladet
    • nablashop -- Oversikt over ting nabla selger (kompendium, pins, etc.)
    • news -- Nyheter/forsideinnhold, hva som skal vises på forsiden
    • officeBeer -- For bongsystem til kontoret
    • officeCalendar -- For booking av kontoret
    • podcast -- Scråttcast sine podcaster
    • poll -- Avstemninger, bl.a. på forsiden
  • templates -- inneholder templates vi har laget, og templates som overskriver Django sine.
  • nablaweb -- inneholder settings og urls. Knutepunktet for prosjektet.
  • var -- variabelt innhold. Inneholder bl.a. media og sqlite.db
  • static -- inneholder js, css og noen bilder.

Kodestil

Nablaweb følger en PEP8 substil som heter Black. Vi bruker Black og isort for å formatere koden. flake8 brukes til kontroll av formatering.

For å kjøre Black og isort automatisk når du commiter kan du kjøre

pipenv run pre-commit install

Alternativt kan du manuelt kjøre:

  • make fixme: formaterer feil i koden din.
  • make check: kontrollerer at du har korrekt formatert kode.

Pass på at koden er formatert riktig før du pusher den.

Standard mappestruktur i Django (de fleste Django-apps, f.eks. nablapps/accounts)

  • migrations/ -- lages når man kjører python manage.py makemigrations, ikke gjør manuelle endringer her (med mindre du vet hva du gjør)
  • templates/ -- html som definerer struktur og utseende (baseres vanligvis på base.html), bruker variabler gitt fra viewet for dynamiske data
  • admin.py -- hvordan klasser i models og forms skal administreres f.eks. i nabla.no/admin
  • forms.py -- definerer utfyllingsskjema som kan brukes av view til å ta imot informasjon fra bruker, f.eks. brukerregistering
  • models.py -- definerer klasser for appen, f.eks. User som brukes i brukerregistrering (og andre steder...)
  • urls.py -- nettaddressen de ulike viewene skal assosieres med
  • views.py -- bestemmer hva som skal vises på siden: henter info fra databasen, manipulerer det og kjører en template (context=info til html)

Dette er en veldig overfladisk inføring, fint for rekrutter..

About

Hjemmesiden til Linjeforeningen Nabla

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 45