The working website can be found in the Rent Bills website http://rent-bills.herokuapp.com/
May take a while to load due to sleeping dynos. Sample user: owner@owner.com
Password: 123
Rent Bills is a web application to help homeowners monitor rent payments made by tenants.
Homeowners can create a location to represent houses/apartment/condominiums they own. A location could have several units. They can assign a tenant to each unit, based on a contract. A contract lasts for a time period and indicates the monthly rent that tenants need to pay. Homeowners will be able to see the accumulated rent owed/paid by a tenant.
Homeowners can employ keepers to collect payments made by tenants. Keepers will then input how much money they collected when onto the database. Keepers gain access information to a location by sending requests to owners.
Install Postgres into machine, then run:
bundle install
bundle pristine pg
rails db:create
rails db:migrate
rails s
2.7.3
The following schema is used by the program.
- Main Dashboard
- Tenant information
- Location information
- Contract Creator
- Due Scheduler
User Management
- Users can sign up, log in and log out based on unique emails.
- Two types of users are supported: owners and keepers.
Locations and Units
- Owners and keepers are able to create locations.
- Keepers can sign themselves up as keepers for a house by sending requests to owners.
- Owners can accept or reject keepers' request to tend a house.
- Once keepers have access, they can view the location.
Tenants
- Owners can add tenants to locations.
- Owners can create a contract based on how long the tenant stays in a unit and how much the monthly rent is.
Keepers
- Keepers are able to see an overview of tenants and occupied units in the house.
- They can see contracts of tenants.
Navigation
- Owners and keepers have an overivew of locations they manage.
- Owners have shortcuts to locations they own in the nav bar.
Profile Users are able to view their own profile through link at navigation bar above.
- SQL queries mostly optimised.
- Authorisation (only owners and keepers are able to view location information)
- Further optimisation of SQL queries.
- RSpec tests to be written.