Giter Site home page Giter Site logo

microrealestate's Introduction

Gitter

Microrealestate

Microrealestate is a set of microservices which work together to offer an open source application for property management.

This application draws its fundamentals from a monolithic application: Loca

The first objective is to combine the monolith application and the microservices to provide new functionalities.

overview

µService Description Status
Alert Sends alert messages based on business rules (contract deadlines, unpaid rents...) Not available
API Gateway NGINX Available
Authenticator Handles login/logout and tokens management Dev in progress
cAdvisor Container Advisor Available
Elastic Stack Elasticsearch Logstash Kibana handles logs and monitors containers and hosts Available
EMailer Generates and sends emails with mailgun Available
Loca The web application Available
Messages message broker Not available
PDFGenerator Generates PDF documents (letters, contracts, invoices...) Available
Text Generates and texts (cash balance, alerts...) Not available

In a second stage, the monolith application will be broken in microservices.

Getting started

Prerequisite

  • Docker and docker-compose installed

The mre bash script is uses for building, running the application.

⚠️ It doesn't work on windows. Please help wanted.

Clone the GitHub repository

$ git clone --recursive https://github.com/microrealestate/microrealestate.git

Go to the microrealestate

$ cd microrealestate

Build the application

$ ./mre build

Start the application

$ ./mre start

At the end, it displays the application links:

Front-end             http://localhost:8080
kibana                http://localhost:9000
cadvisor              http://localhost:9100

Run the user interface

Take your favorite internet navigator and go to this link: http://localhost:8080

Debugging the application

You would need to have the latest version of VS Code installed.

Then bring up the Debug view, click on the Debug icon in the Activity Bar on the side of VS Code. You can also use the keyboard shortcut Ctrl+Shift+D.

Activity Bar

In a terminal launch the application in development mode:

$ ./mre dev

Next, go to the debug bar:

Activity Bar

Then select one of these values to attach the VS Code debugger to the application:

  • Docker: Attach to Loca (The web application)
  • Docker: Attach to Emailer (Generates and sends emails)
  • Docker: Attach to PdfGenerator (Generates PDF documents)

For more information about VS Code debugging go here

microrealestate's People

Contributors

mauriciomc avatar camelaissani avatar nfdc avatar

Watchers

James Cloos avatar

microrealestate's Issues

user settings

Settings for one user should be kept no matter what computer used or the location where the user is. For instance, accessing the program in another computer, it changes the language and the currency for the same user.

GUI TABS

The tab looses highlights when adding new data or showing deep information related to that tab.
For example, when I press inquilinos, add, it looses the highlight in the inquilinos tab.
Captura de Tela 2020-05-30 às 15 22 34

session time

After some time (30mins) the session closes and the user has to login again. This is not practical, as the user that needs to use the system for a long session will have to login many times. I suggest that the options for ending of session are: the user closes the session manually, or when the computer goes off.

database saving error

After imputing and saving data on properties, some information is lost. For instance, the field descrição, localizacao, is not saving in the data base. It is necessary to check why it is not saving.

BALANCE

The system is showing negative values for a receipt of a given lease contract. Suggest to keep the values of the whole contract as negative, and each payment reduce the amount due. However, the remaining unpaid and not overdue value should not be shown to the user in the receipts or notes of overdue.

Captura de Tela 2020-06-04 às 12 13 55

LEASE DURATION

There is a bug in the contract duration. When including a new lease or rent contract, if selecting duration 3, 6 or 9 years, it only accepts 9 years. There are problems with the other possibilities and it should be reviewed. I would suggest you leave the possibility of years, months or days or hours.
Captura de Tela 2020-06-05 às 09 18 41

GUI REPORT

Adding new data instances (for instance, new property, new lease), the system requires fields do be filled with types of variables (such as types of properties, type of discounts, type of taxes, etc.) Usually, those types don't match, and the user gets a message that the form is not valid. However, sometimes does not show exactly where is the problem. It would be better if the system could present the user with the mismatched field and how to fix the problem.

This fix could also present the user with information on abbreviations such as => CAM, IVA, ..

Follow is the copy of the screen with that problem:

Captura de Tela 2020-06-01 às 12 01 05

DATES CONFUSION

Reporting a payment is a bit confusing. The rent of a given month can be informed as referred up to the last day of the month, otherwise, it does not accept it. However, it is necessary to include a field to inform
Captura de Tela 2020-06-05 às 14 41 45
the actual date of the payment.

adding new property

one should be able to include information such as registration number for council tax, water register, energy, internet, and also include pictures of the property, legal documents (pdf), approved projects(pdf and dwg) (architecture, hidrossanitario, preventivo bombeiros, eletrico), law that proved the project, licences, etc., maintenance and improvements over time (uma nova grande aba - modulo - relativa a fornecedores deve ser incluída no programa!!)

develop a user manual

it is necessary to write a user manual and to include help in the program, linked to the user manual. This way would easy data input correctly

GUI Finetune

On the opening, the system shows the unpaid rent, including the ones that are not overdue. This is so because it is considering the total value of a contract as overdue, what is not correct. I suggest that the 1st panel shows only the overdue rents and the received values of all lease contracts for the month. This would help to decide who to issue a notification and how much income tax should be paid at the end of the month and at the fiscal year.
Captura de Tela 2020-06-04 às 12 33 48

property maintainance module

It is important to develop a maintenance module so that each property would have a worksheet with all services and fixing. This module would have supplier(name, contact, address, tax information, responsible), services( plumbing, electric, bricklayer...), document (regarding the service - legal, receipt, prove of payment, contract...). This module would feed others, such as bookkeeping for the property and for all properties of one particular owner.
THIS IS A VERY IMPORTANT MODULE FOR THE SYSTEM AND IT SHOULD BE DEVELOPED UNTIL DECEMBER

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.