Maintenance App backend. This is flat-admin-only use. No permissions set.
- api/users/ - register flat admin
- api/flats/ - add and retrive flats
- api/residents/ - add and retrieve residents
- api/invoices/ - Fetches list of flats, their maintenance charge and amount paid for that month (creates empty records for every new month)
- api/payments/ - Get flat-wise dues Post payment
- api/match-bills/ - Match bills
-
pip install -r requirement.txt
-
python manage.py createsuperuser
-
python manage.py makemigrations
-
python manage.py migrate
-
python manage.py createsuperuser
-
Go to django-admin interface and add a building
-
Try the dummy data to register at api/users/ end point on postman:
{ "user":{ "username":"yourname", "email":"yourname@gmail.com", "password": "yourname1234" } }
-
To login at api/users/login/ end point on postman:
{ "user":{ "email":"yourname@gmail.com", "password": "yourname1234" } }
-
To add residents with POST request at api/residents/ end point on postman:
{ "name":"resident", "mobile_no": "9876543210", "email": "resident@gmail.com" }
GET request at the same endpoint gives list of all residents, and PATCH request at api/residents/1/ lets you update details of resident whose id is 1.
-
To add flats at api/flats/ end point on postman:
{ "building":"1", "flat_no": "G3", "owner": "1", "maintenance_charge":"2500" }
GET request at the same endpoint gives list of all flats, and PATCH request at api/flats/1/ lets you update details of flat whose id is 1.
This app lets you schedule bill generation and keeps record of all bills and payments,
- Generate bills automatically/manually
- Show overdues
- Record monthly/advance payment
- Match bills and payments
- Manage fine
To try these, add some flats (maintenance charge should not be left blank). Now go to api/collections/ end point and make a get request. You'll find the dues and the months overdue. (Note: Flat upon registration sets maintenance charge due for that month and payment records get appended automatically every month.
Make a PATCH request at api/collections/1/ with dummy data (here 1 is flat id):
{
"amount_paid": "1500",
"months": [
"2020-09-17"
]
}
If there's any extra amount it can be applied to bills any time. If amount paid is insufficient, bills are partially filled and dues get updated accordingly.