Witam wszystkich!
Mam do napisania stronę w DJANGO - bazę ofert turystycznych. Strona nie będzie mocno rozbudowana, niemniej już teraz widzę kilka rzeczy trudnych dla mnie, dlatego proszę o wskazówki.
Strona ma mieć następującą funkcjonalność (z grubsza biorąc):
- oferty wyswietlane sa w kilku kategoriach (np. krajowe, zagraniczne-Europa, zagraniczne-Afryka, zagraniczne-Ameryka_Płd.) w formie listingu z paginatorem. To funkcjonalność mam już prawie gotową.
- oferty dodajemy przez API - Tastypie lub DRF (django rest framework) lub inne (ale raczej te wymienione)
- w panelu admina strony ma być właściwie tylko opcja edycji najważniejszych parametrów oferty + dodatkowo:
-- opcja "publish" - uczynienie by oferta była on-line (taka nazwijmy to prosta moderacja)
-- opcja "archive" - wyrzuca ofertę z wyszukiwarki i listy wyswietlającej oferty, ale oferty są nadal w bazie przez jakiś okres jako "archive" czyli oferty już nieaktualne, ale dostępne pod adresem url (na wypadek gdyby gdzieś w internecie ktoś na np. forum zostawił "ślad").
-- opcja "do edycji" - gdy oferta nie jest gotowa, wymaga przed publikacją uzupełnienia danych/zdjęć,, etc. - wyszukiwarka ofert - z tym będzie dla mnie największy problem :(
-- wyszukiwanie po: cena, liczba dni, rodzaj transportu, wyżywienie, standard hotelu, udogodnienia, oferty last minute, itp. - funkcja "ulubione" - taki "koszyk" ulubionych ofert, w celu wybrania kilku(nastu) najbardziej interesujących ofert i możliwości porównania ich przed ostatecznym wyborem konkretnej oferty.
- dodatkowe strony "o nas", "kontakt", itp. - To raczej strony statyczne, wiec nie będzie problemów.
Strona nie będzie posiadać bazy użytkowników, a więc też rejestracji, itp. (jedyną logującą się osobą będą admin, ew. też moderatorzy).
Liczę na wskazówki, jak zabrać się za projektowanie takiej strony... :)
Chodzi mi przede wszystkim o:
- Jaką nadać strukturę projektowi:
Myślałem o czymś takim:
my_site
api
offerslist
search
admin
favoffers
staticfiles
templates
database
Myślę, że nazwy katalogów mówią same za siebie. Pominąłem tutaj pliki i katalogi zakładane automatycznie przez framework.
Zastanawiam się czy wyszukiwarka powinna być w oddzielnej appce, skoro bazuje na tym samym modelu?
-
Który "silnik" API wykorzystać tastypie czy DRF? (wybrałem te dwa ze względu na dobrą dokumentację i sporo przykładów wykorzystania)
Jak rozwiązać problem następujacy: Opis oferty chce wrzucać przez API, natomiast co ze zdjęciami? Przesyłać FTP? czy też przez API restowe? Jak się taki problem zwykle rozwiązuje? -
Jak wykonać wyszukiwarkę ofert? Tu nie mam zupełnie pomysłu. Proszę o porady, wskazówki jak to powinno być zrobione w django.
Co wybrać do wyszukiwarki? Standardowe rozwiązania django, czy może pakiety jak django-filter, django-search, a może zaawansowane rozwiązania (jak Haystack + ....)?
Proszę o sugestie z krótkim uzasadnieniem wyboru.
Nie do końca wiem, jak przekazać opcje wyszukiwania do kontrolera wyszukiarki? Jak to powinno być prawidłowo zrobione? Tzn. jak "uruchomić" wyszukiwanie od momentu wybrania opcji, kategorii lub i frazy wyszukiwania i kliknięcia buttona "szukaj".
Większość stron jakie oglądałem wysyła POST-em dane z formularza...
Naturalnie proszę o naprowadzenie mnie na konkretne rozwiązania i technologie, resztę doszukam sam.
DZIEKUJE!