Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moved sulten #925

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

tiniuspre
Copy link
Contributor

Created app for sulten and moved views, models, admin and urls

@tiniuspre tiniuspre self-assigned this Jan 16, 2024
@tiniuspre tiniuspre linked an issue Jan 16, 2024 that may be closed by this pull request
Snorre98
Snorre98 previously approved these changes Jan 17, 2024
Copy link
Contributor

@Snorre98 Snorre98 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sikkert smart å på delt opp. Se kommentare, hvis det jeg har hørt stemmer kan det hende det blir misvisende at det er delt inn i "sulten".



@admin.register(Booking)
class BookingAdmin(CustomBaseAdmin):
Copy link
Contributor

@Snorre98 Snorre98 Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Jeg mener jeg har hørt noe om at vi skal lage funksjonalitet for å reservere/booke på flere lokaler enn bare lyche, men det kan kanskje noe andre si noe konkret om.
@emilte @robines vet dere noe om dette?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det stemmer, vi ønsker støtte for at alle lokaler på samf skal ha mulighet til å ha meny og bord som kan bookes. Spesielt med nybygg kan det hende det blir nødvendig.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Enig selv, om man skal kunne booke flere rom, men med tanke på å dele opp ting enda mer for jeg ser backend trenger det. Skal vi lage en egen django app for venues eller ha venues i samfundet som jeg ser for meg burde kun ha "generelle" ting.

Hvis venues blir stort og ender opp med mye kode burde vi ha en egen app.

Hva tenker dere?

Copy link
Member

@emilte emilte Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mye kode er ikke et stort problem, det øker ikke kompleksiteten. I Samf4 henger mye sammen, så en egen app hjelper ikke nødvendigvis så veldig mye. Foreløpig tror jeg det er best om man bare splitter ut når en fil blir for stor. Da har man det bare ved siden med ny fil. Her kunne man f.eks. bare hatt samfundet.models.sulten. Vi prøvde strukturen med flere apper i rekenett, og det var ikke noe særlig å vedlikeholde.

Copy link
Member

@emilte emilte Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sulten er på en måte en egen nettside, så jeg er ikke i mot at det er en egen app. Ser den låner Venue fra samfundet da. Delte modeller på tvers av apper kan føre til sirkulære avhengigheter som er vanskelig å forholde seg til.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Diskusjonen er ganske nyansert og går i begge retninger. Vet ikke helt om jeg vet hva du er enig med :P

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det å dele opp kode, enig at apper kan bli litt meget om det er mye fram/tilbake. Selv erfart det at ting blir messy fort om flere jobber og ikke alle følger en "struktur" som er løst satt som må til om man skal ha et slikt oppsett. Så jeg tenker lyche som er ganske standalone uten om booking burde være i en app 😁

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hva med en sulten modul innenfor samfundet?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mener sulten.views & models osv er best. altså sulten.views.menu . Blir litt feil med tanke på at sulten er uavhengig. samfundet.views.sulten.menu når det også blir samfundet.views.blog.blogpost i samme hovedkategori. Hadde vært finest med samfundet.sulten.views.menu som Doordash django, men da krever det litt mer restrukturering . Så min konklusjon da at det burde være: Lyche som egen app. Dele opp models og views i flere under mapper så vi får det mer logisk modul basert hvor man kan gjette seg til hva som kommer til å være i under modulene basert på parenten :)

Copy link
Member

@emilte emilte Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Det kan hende vi misforstår hverandre, men den blogposten du sendte støtter ikke saken din i det hele tatt. Den argumenterer det motsatte og styrker faktisk anbefalingen min om å ikke lage flere apper. Vi har ikke en gigantisk monolitt som skal skalere for hundre tusenvis av brukere.

Det er ikke vanskelig å refaktorere slik at sulten blir en modul med egen identitet slik du ønsker. Resten av koden trenger ikke sin egen identitet før det er et tydelig skille. Du skriver at sulten er uavhengig, det stemmer ikke. Den deler modeller med resten av samfundet.

backend/sulten/models.py Outdated Show resolved Hide resolved
backend/sulten/models.py Outdated Show resolved Hide resolved
backend/sulten/views.py Outdated Show resolved Hide resolved
@@ -12,6 +12,7 @@
path('rest_framework/', include('rest_framework.urls')),
path('notifications/', include(notifications.urls, namespace='notifications')),
path('', include('samfundet.urls')), # Put last.
path('', include('sulten.urls')), # Put last.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Du risikerer konflikter.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Comment on lines 1 to 12
from django.db import models

from root.utils.mixins import CustomBaseModel
from samfundet.models.general import Venue
from samfundet.models.model_choices import ReservationOccasion
from django.utils import timezone
from datetime import datetime, date, time, timedelta
from collections import defaultdict
from django.core.exceptions import ValidationError
from typing import Any


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Comment on lines 1 to 14
from rest_framework.permissions import DjangoModelPermissionsOrAnonReadOnly, AllowAny
from rest_framework.views import APIView
from rest_framework.viewsets import ModelViewSet

from samfundet.models.general import Venue
from sulten.models import Menu, MenuItem, FoodCategory, FoodPreference, Table, Reservation, Booking
from sulten.serializers import MenuItemSerializer, MenuSerializer, FoodCategorySerializer, FoodPreferenceSerializer, TableSerializer, \
ReservationCheckSerializer, \
BookingSerializer
from rest_framework.request import Request
from rest_framework.response import Response
from rest_framework import status

from django.utils import timezone
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done



@admin.register(Booking)
class BookingAdmin(CustomBaseAdmin):
Copy link
Member

@emilte emilte Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mye kode er ikke et stort problem, det øker ikke kompleksiteten. I Samf4 henger mye sammen, så en egen app hjelper ikke nødvendigvis så veldig mye. Foreløpig tror jeg det er best om man bare splitter ut når en fil blir for stor. Da har man det bare ved siden med ny fil. Her kunne man f.eks. bare hatt samfundet.models.sulten. Vi prøvde strukturen med flere apper i rekenett, og det var ikke noe særlig å vedlikeholde.

Comment on lines 1 to 9
from samfundet.models.model_choices import ReservationOccasion
from datetime import datetime, date, time, timedelta
from django.core.exceptions import ValidationError
from root.utils.mixins import CustomBaseModel
from collections import defaultdict
from django.utils import timezone
from django.db import models
from typing import Any

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dette er litt kaos

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@emilte emilte marked this pull request as draft January 19, 2024 12:30
@robines robines added the stale Inactive issue or pull request label Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Inactive issue or pull request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move Models relating to Sulten to its own file
4 participants