{"id":20346574,"url":"https://github.com/robpataki/property-deal-manager","last_synced_at":"2026-05-06T13:34:51.698Z","repository":{"id":39108377,"uuid":"266747779","full_name":"robpataki/property-deal-manager","owner":"robpataki","description":"Property Deal Manager app written in Angular 9 and Firebase 7","archived":false,"fork":false,"pushed_at":"2023-01-06T06:56:10.000Z","size":2126,"stargazers_count":0,"open_issues_count":21,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-04T15:48:27.458Z","etag":null,"topics":["angular","angular2","firebase","firebase-database","investment","property","realtime-database","restapi"],"latest_commit_sha":null,"homepage":"https://property-deal-manager.web.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robpataki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-25T10:13:49.000Z","updated_at":"2021-03-07T16:16:54.000Z","dependencies_parsed_at":"2023-02-05T14:16:14.907Z","dependency_job_id":null,"html_url":"https://github.com/robpataki/property-deal-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/robpataki/property-deal-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robpataki%2Fproperty-deal-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robpataki%2Fproperty-deal-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robpataki%2Fproperty-deal-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robpataki%2Fproperty-deal-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robpataki","download_url":"https://codeload.github.com/robpataki/property-deal-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robpataki%2Fproperty-deal-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272013537,"owners_count":24858474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular2","firebase","firebase-database","investment","property","realtime-database","restapi"],"created_at":"2024-11-14T22:13:24.814Z","updated_at":"2026-05-06T13:34:50.600Z","avatar_url":"https://github.com/robpataki.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Property Deal Manager\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.4.\n\n## Development server\n\nRun `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.\n\n## Code scaffolding\n\nRun `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.\n\n## Build\n\nRun `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.\n\n## Deploy\n\n### First time setup\n\nRun `firebase init` to set up the deployment configuration for Firebase hosting. Then `firebase deploy` to deploy (don't forget to build the app for production first).\n\n## Running unit tests\n\nRun `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).\n\n## Running end-to-end tests\n\nRun `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/).\n\n## Further help\n\nTo get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).\n\n---\n\n## Firebase config\n\nThe Firebase settings should set in both the `src/environments/environment.ts` and `src/environments/environment.prod.ts` files - alongside with other project specific configuration. For security reasons these files aren't under version control, but there are 2 sample files for both prod and dev environments showing what the files shouls look like with real data.\n\n## Realtime database notes\n\n### Property Number Crunch\n\n#### DRY value names\n\nThese are the keysused in the crunch data structure to identify the relevant values. The data structure is as DRY as possible, so keys are reused in the different nodes.\n\n|Key|Value|\n|---|---|\n|strg|Strategy|\n|---|---|\n|be|Back end|\n|prof|Profit|\n|duv|Done up value|\n|---|---|\n|cf|Cashflow|\n|rent|Rent|\n|ltv|Loan to value|\n|mir|Mortgage interest rate|\n|mip|Mortgage interest payment|\n|ins|insurance|\n|man|Management|\n|moe|Monthly Operating Expenses|\n|---|---|\n|cost|Cost of the deal|\n|ref|Refurb|\n|src|Sourcing|\n|pm|Project management|\n|cob|Cost of borrowing|\n|srv|Survey|\n|auc|Auction|\n|sol|Solicitor|\n|bro|Broker|\n|---|---|\n|hcost|Holding cost|\n|ct|Council tax|\n|nrg|Energy|\n|wat|Water|\n|grent|Ground rent|\n|serv|Service charge|\n|voids|Void period (number of months)|\n|---|---|\n|calc|Calculations|\n|cf|Cashflow|\n|soi|Selected offer index|\n|mop|Maximum offer (price)|\n|roi|Return on investment|\n|yld|Rental yield|\n|sof|Selected offer|\n|sofi|Selected offer index|\n|prc|Price|\n|std|Stamp duty|\n\n#### Crunch data structure\n\n\tproperty\n\t  ...\n\t  crunch\n\t    strg\n\t    BTL\n\t      be\n\t        duv\n\t\t   cf\n\t\t     rent\n\t\t     ltv\n\t\t     mir\n\t\t     mip\n\t\t     ins\n\t\t     man\n\t\t     moe\n\t\t   cost\n\t\t     ref\n\t\t     src\n\t\t     pm\n\t\t     cob\n\t\t     srv\n\t\t     auc\n\t\t     sol\n\t\t     bro\n\t\t   hcost\n\t\t\t  ct\n\t\t\t  nrg\n\t\t\t  wat\n\t\t\t  grent\n\t\t\t  serv\n\t\t\t  bcost\n\t\t\t  voids\n\t\t\tcalc\n\t\t\t  mop\n\t\t\t  duv\n\t\t\t  rent\n\t\t\t  ref\n\t\t\t  yld\n\t\tFLP\n\t\t  be\n\t\t    prof\n\t\t    duv\n\t\t  cost\n\t\t     ref\n\t\t     src\n\t\t     pm\n\t\t     cob\n\t\t     srv\n\t\t     auc\n\t\t     sol\n\t\t     bro\n\t\t   hcost\n\t\t\t  ct\n\t\t\t  nrg\n\t\t\t  wat\n\t\t\t  grent\n\t\t\t  serv\n\t\t\t  bcost\n\t\t\t  voids\n\t\t\tcalc\n\t\t\t  mop\n\t\t\t  ref\n\t\t\t  duv\n\t\t\t  prof\n\t\t  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobpataki%2Fproperty-deal-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobpataki%2Fproperty-deal-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobpataki%2Fproperty-deal-manager/lists"}