>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
JavaScript

Jak wdrożyć własny system zarządzania najmem bez subskrypcji chmurowych

Wielu specjalistów IT z czasem trafia na wynajęte mieszkanie, garaż, a nawet kilka lokali użytkowych. Na początku wszystko śledzi się w Telegramie lub w Arkuszach Google. Ale kiedy masz więcej niż jednego najemcę, zaczynają się problemy. Ktoś opóźnił płatność o trzy dni, ktoś potrzebuje faktury, umowa kogoś wygasa, a szablon protokołu przekazania gdzieś zaginął na starym dysku.

Własnościowe usługi SaaS do zarządzania najmem zazwyczaj są albo przeładowane funkcjami dla ogromnych agencji nieruchomości, albo pobierają miesięczną opłatę za podstawowe funkcje. Niedawno natknąłem się na interesujący projekt open-source, który rozwiązuje dokładnie ten problem. To MicroRealEstate.

Co potrafi MicroRealEstate

To zasadniczo gotowa aplikacja webowa dla właścicieli nieruchomości, którzy potrzebują uporządkować umowy, płatności i kontakty z najemcami. Kod jest napisany w JavaScript i rozpowszechniany na warunkach liberalnej licencji MIT.

Projekt dzieli interfejs na dwie główne części: panel właściciela i portal najemcy. Jest to wygodne, jeśli chcesz dać najemcom dostęp do historii płatności i dokumentów bez ręcznego przesyłania każdego PDF-a przez komunikatory.

Oto główne funkcje wbudowane w system:

  1. Baza nieruchomości i najemców. Tworzysz karty dla mieszkań, pokoi, biur, łączysz z nimi najemców wraz z ich danymi kontaktowymi i informacjami z paszportu.
  2. Szablony umów i porozumień. System zawiera wbudowany edytor szablonów. Konfigurujesz raz tekst umowy ze zmiennymi, a system automatycznie uzupełnia dane najemcy, warunki i kwoty płatności.
  3. Śledzenie płatności czynszu i zadłużenia. Aplikacja monitoruje harmonogram płatności, wyróżnia zaległe płatności i rejestruje otrzymane środki.
  4. Powiadomienia masowe i spersonalizowane. Możesz wysyłać najemcom potwierdzenia, przypomnienia o płatnościach lub ważne ogłoszenia e-mailem bezpośrednio z interfejsu.
  5. Współpraca. Jeśli zarządzasz nieruchomościami z partnerem lub zatrudnionym asystentem, możesz dodać wiele kont z kontrolą dostępu opartą na rolach.

Interfejs i zrzuty ekranu

Interfejs wygląda czysto, bez zbędnych elementów wizualnych. Poniżej kilka zrzutów ekranu z dokumentacji projektu.

| | | | | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | | Strona czynszów | Wysyłanie powiadomień, potwierdzenia e-mailem | Opłata czynszu | | Rents page | | | | Strona najemców | Szczegóły najemcy | | | | | | | Strona nieruchomości | Szczegóły nieruchomości | | | | | | | Strona właściciela | Szablony umów | Tworzenie umowy | | | | | | Członkowie | | | | |

Jak wdrożyć na własnym serwerze

Autorzy spakowali wszystkie usługi w Docker Compose, więc wdrożenie zajmuje dosłownie pięć minut. Pod maską aplikacja wykorzystuje MongoDB.

Przygotowanie konfiguracji

Najpierw utwórz katalog roboczy i pobierz podstawowe pliki:

mkdir mre
cd mre
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/.env.domain > .env

Koniecznie otwórz plik .env i ustaw własne klucze tajne, tokeny i hasła na końcu pliku. Jeśli aktualizujesz istniejącą instalację, przenieś stare wartości MONGO_URL i sekrety, aby nie stracić dostępu do danych.

Uruchomienie na maszynie lokalnej

Aby przetestować interfejs na swoim komputerze, wystarczy uruchomić jedno polecenie:

APP_PORT=8080 docker compose --profile local up

Po uruchomieniu interfejs właściciela będzie dostępny pod adresem http://localhost:8080/landlord, a interfejs najemcy pod adresem http://localhost:8080/tenant.

Uruchomienie na serwerze z domeną i HTTPS

Jeśli konfigurujesz instancję na VPS i masz już skonfigurowane rekordy DNS domeny wskazujące na Twój adres IP, system może automatycznie wydać certyfikat SSL poprzez wbudowany serwer proxy:

sudo APP_DOMAIN=app.example.com APP_PROTOCOL=https docker compose up

Panel sterowania będzie dostępny przez HTTPS pod adresem https://app.example.com/landlord.

Kopia zapasowa

Ponieważ wszystkie dane są przechowywane w MongoDB, kopie zapasowe wykonuje się jednym poleceniem przy użyciu oficjalnego obrazu:

docker compose run mongo /usr/bin/mongodump --uri=mongodb://mongo/mredb --gzip --archive=./backup/mredb-$(date +%F_%T).dump

Możesz przywrócić bazę danych ze zrzutu w podobny sposób:

docker compose run mongo /usr/bin/mongorestore --uri=mongodb://mongo/mredb --drop --gzip --archive=./backup/mredb-XXXX.dump

Dla kogo jest ten projekt

MicroRealEstate raczej nie zastąpi ciężkich systemów ERP dla dużych firm zarządzających setkami osiedli mieszkaniowych. Wymagają one integracji z systemami GIS Housing, telefonii i specyficznymi kasami fiskalnymi.

Jednak dla prywatnych właścicieli, posiadaczy kilku mieszkań czy małych przestrzeni coworkingowych to doskonała alternatywa self-hosted. Dane o nieruchomościach i najemcach pozostają na Twoim serwerze, interfejs jest intuicyjny, a podstawowe uruchomienie przez Dockera eliminuje żmudną konfigurację środowiska.

Powiązane projekty