>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
JavaScript

Zo deploy je je eigen verhuurbeheersysteem zonder cloudabonnementen

Veel IT-professionals komen uiteindelijk terecht met een huurappartement, een garage of zelfs een paar commerciële ruimtes. In het begin wordt alles bijgehouden in Telegram met jezelf of in Google Sheets. Maar zodra je meer dan één huurder hebt, ontstaan er problemen. De betaling van iemand is drie dagen vertraagd, iemand heeft een factuur nodig, het contract van iemand loopt binnenkort af en het overdrachtssjabloon is ergens op een oude harde schijf zoekgeraakt.

Proprietary SaaS-diensten voor verhuurbeheer zijn meestal ofwel overladen met functies voor grote vastgoedbedrijven, ofwel rekenen ze een maandelijks abonnement voor basiszaken. Ik kwam onlangs een interessant open-source project tegen dat dit probleem precies oplost. Dit is MicroRealEstate.

Wat MicroRealEstate kan doen

Essentieel is het een kant-en-klare webapplicatie voor vastgoedeigenaren die contracten, betalingen en huurderscontacten willen organiseren. De code is geschreven in JavaScript en gedistribueerd onder de permissieve MIT-licentie.

Het project verdeelt de interface in twee hoofdgedeelten: het dashboard voor verhuurders en de huurdersportaal. Dit is handig als je huurders toegang wilt geven tot hun betalingshistoriek en documenten zonder elke PDF handmatig door te sturen via messengers.

Hier zijn de belangrijkste functies die in het systeem zijn ingebouwd:

  1. Database voor panden en huurders. Je maakt kaarten voor appartementen, kamers, kantoren, koppel huurders eraan met hun contactgegevens en paspoortinformatie.
  2. Sjablonen voor contracten en overeenkomsten. Het systeem bevat een ingebouwde sjablooneditor. Je configureert de contracttekst met variabelen één keer, en het systeem vult automatisch huurdersgegevens, voorwaarden en betalingsbedragen in.
  3. Huurbetaling en schuldtracking. De app bewaakt het betalingsschema, markeert achterstallige betalingen en registreert ontvangen betalingen.
  4. Bulk- en gepersonaliseerde meldingen. Je kunt huurders ontvangstbewijzen, betalingsherinneringen of belangrijke aankondigingen via e-mail rechtstreeks vanuit de interface sturen.
  5. Samenwerking. Als je panden beheert met een partner of huishulp, kun je meerdere accounts toevoegen met op rollen gebaseerde toegangscontrole.

Interface en schermafbeeldingen

De interface ziet er netjes uit zonder onnodige visuele rommel. Hieronder staan verschillende schermen uit de projectdocumentatie.

| | | | | :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: | | Huurpagina | Verzend mededelingen, ontvangstbewijs per e-mail | Betaal huur | | Huurpagina | | | | Huurderspagina | Huurderdetails | | | | | | | Pandenpagina | Panddetails | | | | | | | Verhuurderspagina | Sjabloonhuurcontracten | Stel een contract op | | | | | | Leden | | | | |

Hoe te deployen op je eigen server

De auteurs hebben alle services verpakt in Docker Compose, dus deployment kost letterlijk vijf minuten. Onder de motorkap gebruikt de applicatie MongoDB.

Configuratievoorbereiding

Maak eerst een werkdirectory en download de basisbestanden:

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

Open zeker het .env bestand en stel je eigen geheime sleutels, tokens en wachtwoorden in aan het einde van het bestand. Als je een bestaande installatie bijwerkt, breng dan de oude MONGO_URL waarden en geheimen over zodat je geen toegang tot je data verliest.

Draaien op een lokale machine

Om de interface op je computer te testen, hoef je maar één commando uit te voeren:

APP_PORT=8080 docker compose --profile local up

Na opstarten is de verhuurdersinterface beschikbaar op http://localhost:8080/landlord en de huurdersinterface op http://localhost:8080/tenant.

Draaien op een server met domein en HTTPS

Als je een instantie op een VPS instelt en de DNS-records van je domein al hebt geconfigureerd om naar je IP te verwijzen, kan het systeem automatisch een SSL-certificaat uitgeven via de ingebouwde reverse proxy:

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

Het control panel zal beschikbaar zijn via HTTPS op https://app.example.com/landlord.

Backup

Aangezien alle data in MongoDB wordt opgeslagen, worden backups gedaan met één commando met behulp van de officiële image:

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

Je kunt de database vanuit een dump op vergelijkbare wijze herstellen:

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

Voor wie dit project is

MicroRealEstate zal waarschijnlijk geen zware ERP-systemen voor grote managementbedrijven met honderden woonservicecomplexen vervangen. Zij vereisen integraties met GIS Housing, telefonie en specifieke kassa's.

Echter, voor particuliere verhuurders, eigenaren van meerdere appartementen of kleine coworkingruimtes is dit een uitstekend self-hosted alternatief. Pand- en huurdersgegevens blijven op je persoonlijke server, de interface is intuïtief en basisopstart via Docker elimineert langdurige omgevingsconfiguratie.

Gerelateerde projecten