Giter VIP home page Giter VIP logo

prestapp's Introduction

Laravel Logo

The Loan & Property Management Software

WebsiteDocsDemo

⚠️ ICLoan is in Alpha (Under heavy development):

It is already quite usable, but it isn't ready for production yet. We recommend you use the demo to take a look feedback are aprecciated but maybe wont be inmmiadiatelly addressed at this stage since I have the idea in exploration phase.

About ICLoan

ICLoan is a Loan & Property Management Software that can handle properties with multiple units, owner distribution, rental contracts and rental expenses along with loan with rates.

Dashboard

✨Features:

  • 💵 Loans
  • 🏡 Property Management
  • 👨‍👩‍👧 Integrated Loan + Property Management dashboard**

Scope

ICLoan is an exploration in the property management area and it is a good alternative for property managers with an small portfolio. Compared to more mature software ICLoan doesn't handle

  • Accounting (event though we make the transactions under the hood that section is not public),
  • Maintenance
  • Tasks
  • Public Listing

Technical Stuff

ICLoan is a Monolith app using laravel 9, jetstream, inertia, vue3, Tailwindcss and some hand crafted packages Atmosphere UI, Journal, and others.

Prerequisite Version
Node.js ~ ^16.18.0
npm (comes with Node) ~ ^8.19.2
[PHP] ~ ^8.1.2
Composer ' ^2.3.8
MariaDB*** 10.8.4
Cloud Platform Project (with Gmail API)** --
PHP extension ext-mailparse** --

** Those requirements are optional for Gmail integration/automation *** MariaDB could be replaced with MySql8

node -v
php -v

Installation

To install Loger, you'll need to clone or download this repo:

git clone https://github.com/jesusantguerrero/atmosphere.git project_name

Next, we can install Atmosphere with these 4 simple steps:

1. Create a New Database

During the installation we need to use a MySQL database. You will need to create a new database and save the credentials for the next step.

2. Copy the .env.example file

We need to specify our Environment variables for our application. You will see a file named .env.example, you will need to duplicate that file and rename it to .env.

Then, open up the .env file and update your DB_DATABASE, DB_USERNAME, and DB_PASSWORD in the appropriate fields. You will also want to update the APP_URL to the URL of your application.

APP_URL=http://127.0.0.1:8000/

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=prestapp
DB_USERNAME=root
DB_PASSWORD=

3. Add Composer Dependencies

composer install --ignore-platform-reqs

4. Run Migrations and Seeds

php artisan migrate --seed
php artisan app:demo-fresh-start

backend development

php artisan serve

Frontend development The backend have to be running

# install npm packages
npm install
# development
npm run dev

🎉 And that's it! You will now be able to visit your URL and see your Atmosphere application up and running.

License

BSD-3 license.

Author

Jesus Guerrero

prestapp's People

Contributors

jesusantguerrero avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

brianmbewe75

prestapp's Issues

Auto generate late fees

1- Configure late fees in the rent wizard. We need:
a - Late Fee Account (Auto-create for the property)
b - grace period in days
c - Fee Type. (percentage of outstanding amount, percentage of rent, fixed amount)

End loans

As a user, I can end a loan as it is.

From an accounting point, the expected loan payment could go to loan expenses as well as interest.

Add loan settings

As a user I don't want to deal with selecting source and source account, or late fees rate every time. It is better to have a global config for loans to fill those details.

Wrapping Up: MVP

Changes needed at the Business level:

  • Validar que la cuenta de prestamos antes de hacer prestamo

Requirements needed at App Level:

  • Pagination in tables
  • #73
  • Mostrar balance en selector de cuentas

Minimal Requirements

CRM

Loans

  • #84
  • #108
  • #85
  • #86
  • #87
  • Empty state in dashboard statistics
  • Allow to add transaction from loan dashboard
  • Loading processing state to form
  • #106

Reports

Real State

Nice to have:

  • Balance de cuenta al lado del nombre

Distribution of a payment in categories

Test what would be a better option. To depend on categories as in Loger/Atmosphere or in income/expense accounts to handle the metrics for interest/commissions for loans and rent.

This task is to choose one and implement it.

Edit repayment interest

As a user, I can edit the amount of interest in loan repayments.

  • The new value cant be less than the value paid if any.

Add payment center for loans

It would be a CxC list with default filter today and option for week, month, all

Filter by loan frequency
Filter by wallet
Filter by client

Cron for payment day

Edit: I think it is better to have a widget in Loan Dashboard with three set of date ranges: Today, This week and This month. With a link to /loans/repayments filtered by range.

Add loan table options

Export loan data
Print Loan Info
Copy
Delete

Create:
Import
New loan

Nice to have:
Label as

Make rent form a step wizard

Property Details:

  • Owner Data
  • Address

Renting Details:

  • Deposit
  • Deposit Due Date
  • Rent
  • Rent Payment Frequency
  • Rent Due Day
  • Next Invoice Date
  • Aditional Fees (JSON)

Make owners summary report & Payment

Accounts -> Management Tools

  • Set Date Generation in Owners
  • Auto create the invoice for owner distribution
  • Create a liability account to move the money
  • Link the invoices that are in the owner distribution invoice
  • Move the money to expenses and fees

Add payment center for owner distribution

It would be a CxP list with default filter today and option for week, month, all

Filter by owner
Filter by property
Filter by month

  • Owners should have alert if has a pending distribution.

  • should notify invoice close to its due date

  • Replicate generation with all posible payments

Draft Loan Products Page

The main idea is to have a super class for loans Loans Products: that will make easier to fill boring data for the loans. Penalty, Interest and capital accounts and categories. That we need to make the transactions under the hood after a payment or disposal

The basic information would be:

  • name
  • description
  • account_id
  • interest_rates
  • interest_account
  • penalty_accounts
  • penalty_type (percentage|fixed)
  • default_frequency

Add payment center for properties

It would be a CxC list for leases with default filter today and option for week, month, all

Filter by property
Filter by owner
Filter by client

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.