Monitorowanie dostępności ofert nieruchomości

Monitorowanie dostępności ofert nieruchomości
DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

Chciałbym zrobić aplikację do monitorowania dostępności nieruchomości w moim mieście. Najpierw program pobierałby ze stron deweloperów informacje o tym które mieszkania są dostępne, wysyłał je do API, które umieszczałoby wpisy w bazie. Na poziomie api mógłbym sprawdzić, czy to modyfikacja jakiejś oferty (zmiana ceny, dostępności), czy może jest to nowa oferta.

Zastanawiam się jaka powinna być logika programu pobierającego dane ze stron deweloperów. Czy ten program wraz z danymi mieszkań powinien przesyłać:
a) nazwę inwestycji
b) id inwestycji z bazy
c) jakiś hash inwestycji/external_id/losowa wartość

dzięki czemu api wiedziałoby o którą inwestycję chodzi. W przypadku b) API od razu wie o jaką inwestycję w bazie chodzi, a w przypadku a) i c) musi jakoś powiązać to co przesłał użytkownik, z wpisem w bazie.

Czyli: W przypadku b) to PROGRAM wie konkretnie gdzie w bazie wylądują wysłane przez niego dane, natomiast w a) i c) program nie ma pojęcia jaki będzie docelowy id inwestycji w bazie, tylko przesyła jakąś informację (nazwa/hash), a te powiązanie będzie się działo dopiero w api

Schemat bazy:
firefox_3VOkaGlKPU.png

overcq
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 402
1

Najlepiej jakbyś podał przykłady danych źródłowych, z których program ma czerpać informacje o inwestycji. Bez tego nie wiadomo, czy tam są jakieś dane jednoznacznie ją identyfikujące.

Ponadto wydaje się, że piszesz o ‘serverze’, który przetwarza dane przesłane przez API, a nie o API, które przetwarza dane.

mistyk
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Każdy rekord jaki uda ci się pobrać ze strony będziesz musiał weryfikować po np. adresie url ogłoszenia, bo to się raczej najrzadziej zmienia.

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0

Najlepiej jakbyś podał przykłady danych źródłowych, z których program ma czerpać informacje o inwestycji. Bez tego nie wiadomo, czy tam są jakieś dane jednoznacznie ją identyfikujące.

Nie ma to znaczenia, przecież ja sam sobie mogę to identyfikować.

Ponadto wydaje się, że piszesz o ‘serverze’, który przetwarza dane przesłane przez API, a nie o API, które przetwarza dane.

Ja nie pobieram żadnych danych przez API. Jedyne api o jakim pisałem było stworzone przeze mnie, pełniące rolę wymiany danych z bazą

Każdy rekord jaki uda ci się pobrać ze strony będziesz musiał weryfikować po np. adresie url ogłoszenia, bo to się raczej najrzadziej zmienia.
To nie odpowiada na moje pytanie

Dobra, załóżmy, że program z 1 strony pobrał takie dane:

Kopiuj
nazwa: Zielony Przylądek
mieszkania:
	mieszkanie
		numer: 11
		cena: 500000
		powierzchnia: 50m2
		pokoi: 2
		piętro: 3
		status: zarezerwowana
	mieszkanie
		numer: 12 
		cena: 400000
		powierzchnia: 35m2
		pokoi: 1
		piętro: 1
		status: wolne

a z drugiej takie:

Kopiuj
nazwa: Rajowo
mieszkania:
	mieszkanie
		numer: AAA7
		cena: 1000000
		powierzchnia: 80m2
		pokoi: 4
		piętro: 0
		status: sprzedane

Teraz, chcę wysłać te dane do mojego api, które wstawi je do bazy danych. Czy już podczas wysyłania powinienem znać id tych inwestycji w bazie, czy może powinienem przesłać coś, co api powiąże z wpisem w bazie. Np. powiążę nazwę: Zielony Przylądek z wpisem w bazie o numerze: 4.

Alternatywnie proram może przesyłać jakiś hash, który może być losowy, a może coś oznaczać, np.: 2025_ZIELONY_PRZYLADEK_{NAZWA_DEWELOPERA} i w api powiązałbym to z wpisem w bazie o numerze 4, albo powiązałbym to na podstawie jakiejś nowej tabeli:

Kopiuj
| external_id                 | investition_id |
|-----------------------------|----------------|
| 2025_Rajowo_Nickel          | 3              |
| 2025_ZIELONY_PRZYLADEK_Atal | 4              |
Miang
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1801
1

wygooglaj definicję słowa API

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
0

Dodatkowe, wewnętrzne API wydaje się być zbędnym narzutem na bazę danych. Po Co Ci API, skoro na bazie możesz zrobić jakiś Upsert?
Po co komplikować to jeszcze oprogramowuajac komunikację przez API dla 3 tabel?
Według mnie unikalny jest adres sprzedawanej nieruchomości. Taka nieruchomość może się pojawiać w kilku scrapowanych stronach. Chyba, że zakładasz, że jedna inwestycja może być realizowana i ogłaszana tylko przez jednego dewelopera. Nie wchodzą w grę konsorcja czy wzajemne ogłaszanie inwestycji. Co z sytuacją gdy np. Spółdzielnia mieszkaniowa ogłasza 3 typy: inwestycje swoje, w partnerstwie z deweloperem A i deweloperem B.
Ja bym przed zabraniem się za kodowanie zbadał dokładnie temat domeny jeszcze. Jakie masz tutaj źródła i dane. Bo wygląda jakbyś się skupiał już na implementacji i tym jak ma działać w sumie niepotrzbne API.

DA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 27
0
jurek1980 napisał(a):

Dodatkowe, wewnętrzne API wydaje się być zbędnym narzutem na bazę danych. Po Co Ci API, skoro na bazie możesz zrobić jakiś Upsert?

Chciałbym potem mieć aplikację frontendową, która będzie wyświatła dane w bazie. I tak potrzebowałbym jakiegoś API, więc użyje tego samego do wrzucania nowych danych

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.