Legal Inheritance Share Calculator App
Miras Payı Hesaplayıcı App (Original Name in Turkish)
A new Flutter application on calculating the rates of legal the inheritors and informing people who seeks knowledge on Inheritance Law.
The rules will be under Turkish Civil Code's related articles. It aims to help people on inheritance related legal procedures. There are blogs as knowledgebase, calculator, descendent-adding forms and result page. Also you can find guide and contact us pages for the application itself. This project's main users are the people with many more relatives, which makes the inheritance shares difficult to calculate. In this app, you can add up to 100 eligible relatives.
This app covers the double kinship issues and show the hidden rates of the share (which is quite important in the testament consequences) per person. The testers are mainly lawyers and were quite satisfied from the results.
Mockups were designed on Balsamiq Wireframe tool. You can find them in /mockup directory. For more information please see the content below.
Explore the docs »
View Demo · Report Bug · Request Feature
Table of Contents
About The Project
The application is to give knowledge about their legal rights to people at the point of inheritance sharing and to inform people about inheritance law. The calculation rules of this application have been developed on the basis of the 495th article of the Turkish Civil Code and the following rules. Our application is for informational purposes only, it is not legally binding.
Built With
Getting Started
Why Flutter?
Flutter is a highly responsive Cross-Platform UI development tool and the project can be used in Android, iOS and Web at the same time.
This is my first Flutter application, and even though I stressed out very much (because I did not know the Dart language or familiar with Flutter) the project resulted overall beyond my expectations. Therefore, Flutter is also a easy-to-adapt technology, if you are familiar with other programming languages.
One of the good advantages of the Flutter is "Hot Reload" feature, which saves a lot of time during the restarts. It is really fast and the changes can be shown at the moment you press Ctrl+S.
Configuration Steps
- Cloning the repository:
$ git clone https://github.com/esrakantarci/mirasapp.git
- Open the project and install dependencies (using terminal):
$ cd miras
$ flutter pub get
This installs all the required dependencies like shared_preferences, cupertino_icons, flutter_spinbox, grouped_list, image_picker etc...
-
Make sure you enable virtualization for AVD, follow the mentioned steps and you're good to go. You can also use Chrome or Edge as web browser (However, not recommended yet due to view-bugs in the dynamic descendent adder feature; to overcome this issue, you can resize your explorer window to mobile-display size).
-
Now run the app on your connected device (using terminal):
$ flutter run
How to Use?:
First, enter the name of the inheritor. This will help you in the next pages. Do not worry, any data you enter is not stored by us. When you exit the application calculation screen, all the data you have entered is deleted. If the inheritor has a living spouse at the time of his death, select "Yes". If the inheritor is married, but the spouse died before the inheritor, you must tick the "No" option.
If they are divorced, the divorced spouse will not inherit (if there is no such clause in the will) since he is not legally considered his wife. Therefore, again select the option "No".
What is meant by "Descendants" is children and their children. Adoption is also counted as a child. If there is even one living subline, please tick “Yes”.
If the legator has descendants, you must include the number of all children (including dead children) of the legator on the next page 2. If you want convenience, you can not include people who have no descendants (i.e. no children/grandchildren, etc.) among the dead children, as they will not inherit.
If the legator has descendants, you must include the number of all children (including dead children) of the legator on the next page 2. If you want convenience, you can not include people who have no descendants (i.e. no children/grandchildren, etc.) among the dead children, as they will not inherit.
If the inheritor has no descendants, the inheritance passes to the next class, the upper lineage. What is meant by superline is the mother, father and their children of the inheritor. If both parents are dead, tick “No”. Otherwise, select “Yes”.
The children of the parents of the legator or the children of the children of the parents (for example, nephews) fall into this category. If there is at least one living parent descendant, please tick “Yes”. Otherwise, select "No".
If there is no heir candidate living in the second group, the inheritance is passed on to the grandparents (grandmother, paternal grandfather) and their descendants, who are super descendants. If there is at least one heir living at this stage, please tick “Yes” for the relevant option.
Regardless of which faction, when adding heirs, you are expected to enter the names of the parents who died first. Then, enter the number of children of this person and click on the "Save this person to the list" text. When you click, the text on the button will change to “This person has been saved” and the “?” in the upper right. mark will turn into a tick mark. This means that the contact is registered.
The name of the deceased parent, who transferred the inheritance share to the person, is located in the upper left part of these person addition forms as "Parent's name".
Note:
We need to make an explanation regarding the descendants of the second and third groups as follows: if both parents are dead, you will have to enter the same person separately for both parents, since they will inherit separately from both. Since double kinship is also discussed in this application, it is necessary to add people to their parents separately. Again, the flow of the application was arranged in this way because of the possibility of parents marrying other people and having children from others.
Demo
Download the Demo Release v.1.0
Future Work
The project will be put into PlayStore and AppStore for people to use. However, before submitting the project into the public access, there are some steps which needs to be taken care of:
- Validator: The textfields validations were not implemented yet.
- Modification in the Person Forms: The person forms can be changed once user hit the "Save to the list" button, but eventually it adds up as a new person. But, it should actually modify the person card.
- Downloading the result page: Although users now can use screenshots to save the result, we can implement a downloadable version of the form.
- Stress testing
- Loggers
Possible improvements in the future:
- The expected inheritance's money can be entered into the result page and it calculates the inheritance for the inheritors as per share.
- Maybe e-Devlet output can be used and automatically calculates all the shares without entering any other information. The project's calculator is designed for this case, too. We only need to add some image processing + tree detecting system. However, since there can be some issues with security or KVKK, I did not wanted to implement such feature.
There are some known bugs:
- If the first eligible rank relative (who is dead) have only 1 child(dead) and this child has eligible descendents, the DescendentAdder has bug to show only alive cards and do not go into recursion (View-bug). But since the project's aim is helping people with many relatives, this kind of issue will not have big impact for the usage.
- If the user re-calculate over 5 times or maybe more, although the maps and lists are cleared, Answers list goes into bugged state and cannot figured out why yet. But it can be overcomed with a restart.
And there are some future view changes which are not business related, but good for the user:
- Knowledgebase and searchbar: The blogs should be listed as a big long vertical list and a search bar should be implemented for users to be able to easily access the content.
- Blog context: The texts inside the blog is not mine, so it is a subject to copyright-permissions. I will be adding original content and petitions for users to use.
- Downloading the petitions: Example petitions can be downloaded, this implementation can be done once I write down the example petitions by myself for original content.
Screenshots
License
Distributed under the MIT License. See LICENSE
for more information.
Contact
Esra Kantarcı Çayır - @Ornitorenkus - [email protected]
Project Link: https://github.com/esrakantarci/mirasapp