Property Management Web Application Development
Budget: $30 – $250 USD
HomeOwners Association Management System
1. Overview
The Homeowners Association Management System is a comprehensive web application designed to manage various aspects of property and association operations. It includes features for property management, budgeting, reporting, and document handling. The system is built using React.js for the frontend, Node.js for the backend, and MySQL for the database. It also includes scripts for generating PDFs, QR20 codes, and digital signatures.
2. Functional Requirements
2.1 Login Page
- User Authentication: Basic login functionality with default admin credentials.
- Security: Ensure secure authentication and authorization.
2.2 Home Page
- Property Management: Create, edit, and delete properties. A sidebar will include Dashboard and all menus or pages
- The user can create multiple properties. Once any one of the properties is selected, navigation: Access to various modules via buttons for each property:
Property Details
Unit Types
Owners Details
Regular Budget
Exceptional Budget
Reports
Documents
The modules must not appear until one property is selected. This is an important condition.
2.3 Settings
- Backup and Restore: Backup and restore data.
- Profile Management: Manage user profiles.
- Language Selection: Switch between French and English.
2.2.1 Property Details
- Property Information: Store and manage property details:
Name
Address
Ownership title
Association name
City: Include all world cities. Once the user types the first letters of a city a list of appropriate propositions is displayed to choose (autocomplete field)
Logo: Either upload it from local machine or add it by URL. The image must automatically be adjusted to logo size and displayed.
Currency: Include all the currencies of all the countries of world. Don’t miss any country.
- QR20 code and Rectangular Stamp Generation: Convert association name into a QR20 code and Rectangular Stamp containing only the name of the association without any other text. Show the QR20 code and the Rectangular Stamp once generated. Add refresh button to regenerate the QR20 code and Rectangular Stamp.
- Download Property details: Transform property details into an elegant downloadable PDF.
2.2.2 Unit Types
- Unit Management: Create and manage different unit types (e.g., big apartment, small apartment, garage…) with monthly fees and a field to describe the unit type.
- Download Unit Types details: Transform Unit Types details into an elegant downloadable PDF.
2.2.3 Owners List
- Owner Information: Store owner details (full name field, address, phone, email, bank account number, unit type (choose from Unit Types table), ownership title number). Add Rented option. If Rented is selected, a new tab is opened to enter renter details (full name field, address, phone, email, bank account number). The user have the option to show in the system either Owner or Renter.
- CRUD Operations: Create, read, update, delete, and duplicate owner records.
- Download Owners List details: Transform Owners List details into an elegant downloadable PDF.
2.2.4 Committee Details
Create committee details manually or using owner information: Two tabs: Add Manually or Choose from Owners list
- Position Assignment: Assign predefined (scroll list) or custom positions to committee members (if it is not found in the custom list)
- Signature Generation: Convert the President’s name into a digital signature and show the generated file. Let the user regenerate Rectangular Stamp until he finds the appropriate one.
- Download Committee Details: Transform Committee Details into an elegant downloadable PDF.
2.2.5 Regular Budget
- Yearly Budget Management: Manage yearly budgets starting from 2025. Once the year is finished, transfer the budget from the previous to the following year, either positive or negative. All the numbers will be followed by the chosen currency from the Property Details table.
- Income and Outcome: Track income and outcome for each month. Show income preceded by + symbol, and outcomes preceded by – symbol.
- Balance Calculation: Calculate and display the balance.
- PDF and XLS Generation: Generate PDF and XLS reports for income, outcome, and balance statements.
- In-App Notifications: Notify users about unpaid owners in the home page of the property.
2.2.5.1 Income Matrix Table
- Columns: Months of the year (January to December), Deficit column, Sum column.
- Rows: Names of owners, Deficit row, Sum row.
- Cells: A window to choose from.
- Not Arrived Yet: White (for future months). The only operation that can be done here is Paid in advance
- Paid: Green (with the amount and currency). Generate and Download PDF: payment receipt.
- Not Paid: Red (with the amount preceded by a minus symbol and currency). Any finished month without entry will show red automatically if no operation was done in the row. Generate and Download PDF: payment overdue notification.
- Partially Paid: Diagonally divided, green for paid amount, red for unpaid amount. Generate and Download PDF: payment receipt and overdue notification.
- Paid in Advance: Blue. (with a decrease option for late payment). This option is the only authorized option for future months. Generate and Download PDF: payment receipt
- Late Payment: Orange (with an increase option for late payment). Generate and Download PDF: payment receipt
- Down the matrix table.
Audit Trail that only records the final confirmed state (not every intermediate edit) to avoid discrepancies between the table and the log. A table with date, time, Operation description, and amount).
2.2.5.2 Outcome Matrix Table
- Columns: Months of the year (January to December), Sum column.
- Rows: Names of expenses (10 predefined, editable, removable, add new ones), Sum row.
- Cells:
- Amount Entry: Enter the expense amount.
- Justification: Upload a photo (optional).
- Down the matrix table.
Audit Trail that only records the final confirmed state (not every intermediate edit) to avoid discrepancies between the table and the log. A table with date, time, Operation description, and amount).
2.2.6 Exceptional Budget
- Exceptional Budget Management: Create and manage exceptional budgets.
- Income and Outcome: Track income and outcome for exceptional budgets. Audit Trail that only records the final confirmed state .
- PDF and XLS Generation: Generate PDF and XLS reports for exceptional budget statements. The file must be available to download once generated.
2.2.7 Reports
- Report Aggregation: Group and organize all reports for easy access.
- PDF Generation: Generate PDF reports for various modules.
2.2.8 Documents
- Document Management: Upload, organize, and access documents.
- Search and Filter: Filter documents by date, time, size, and name.
2.3 Settings
- Backup and Restore: Backup and restore data.
- Profile Management: Manage user profiles.
- Language Selection: Switch between French and English.
1. Overview
The Homeowners Association Management System is a comprehensive web application designed to manage various aspects of property and association operations. It includes features for property management, budgeting, reporting, and document handling. The system is built using React.js for the frontend, Node.js for the backend, and MySQL for the database. It also includes scripts for generating PDFs, QR20 codes, and digital signatures.
2. Functional Requirements
2.1 Login Page
- User Authentication: Basic login functionality with default admin credentials.
- Security: Ensure secure authentication and authorization.
2.2 Home Page
- Property Management: Create, edit, and delete properties. A sidebar will include Dashboard and all menus or pages
- The user can create multiple properties. Once any one of the properties is selected, navigation: Access to various modules via buttons for each property:
Property Details
Unit Types
Owners Details
Regular Budget
Exceptional Budget
Reports
Documents
The modules must not appear until one property is selected. This is an important condition.
2.3 Settings
- Backup and Restore: Backup and restore data.
- Profile Management: Manage user profiles.
- Language Selection: Switch between French and English.
2.2.1 Property Details
- Property Information: Store and manage property details:
Name
Address
Ownership title
Association name
City: Include all world cities. Once the user types the first letters of a city a list of appropriate propositions is displayed to choose (autocomplete field)
Logo: Either upload it from local machine or add it by URL. The image must automatically be adjusted to logo size and displayed.
Currency: Include all the currencies of all the countries of world. Don’t miss any country.
- QR20 code and Rectangular Stamp Generation: Convert association name into a QR20 code and Rectangular Stamp containing only the name of the association without any other text. Show the QR20 code and the Rectangular Stamp once generated. Add refresh button to regenerate the QR20 code and Rectangular Stamp.
- Download Property details: Transform property details into an elegant downloadable PDF.
2.2.2 Unit Types
- Unit Management: Create and manage different unit types (e.g., big apartment, small apartment, garage…) with monthly fees and a field to describe the unit type.
- Download Unit Types details: Transform Unit Types details into an elegant downloadable PDF.
2.2.3 Owners List
- Owner Information: Store owner details (full name field, address, phone, email, bank account number, unit type (choose from Unit Types table), ownership title number). Add Rented option. If Rented is selected, a new tab is opened to enter renter details (full name field, address, phone, email, bank account number). The user have the option to show in the system either Owner or Renter.
- CRUD Operations: Create, read, update, delete, and duplicate owner records.
- Download Owners List details: Transform Owners List details into an elegant downloadable PDF.
2.2.4 Committee Details
Create committee details manually or using owner information: Two tabs: Add Manually or Choose from Owners list
- Position Assignment: Assign predefined (scroll list) or custom positions to committee members (if it is not found in the custom list)
- Signature Generation: Convert the President’s name into a digital signature and show the generated file. Let the user regenerate Rectangular Stamp until he finds the appropriate one.
- Download Committee Details: Transform Committee Details into an elegant downloadable PDF.
2.2.5 Regular Budget
- Yearly Budget Management: Manage yearly budgets starting from 2025. Once the year is finished, transfer the budget from the previous to the following year, either positive or negative. All the numbers will be followed by the chosen currency from the Property Details table.
- Income and Outcome: Track income and outcome for each month. Show income preceded by + symbol, and outcomes preceded by – symbol.
- Balance Calculation: Calculate and display the balance.
- PDF and XLS Generation: Generate PDF and XLS reports for income, outcome, and balance statements.
- In-App Notifications: Notify users about unpaid owners in the home page of the property.
2.2.5.1 Income Matrix Table
- Columns: Months of the year (January to December), Deficit column, Sum column.
- Rows: Names of owners, Deficit row, Sum row.
- Cells: A window to choose from.
- Not Arrived Yet: White (for future months). The only operation that can be done here is Paid in advance
- Paid: Green (with the amount and currency). Generate and Download PDF: payment receipt.
- Not Paid: Red (with the amount preceded by a minus symbol and currency). Any finished month without entry will show red automatically if no operation was done in the row. Generate and Download PDF: payment overdue notification.
- Partially Paid: Diagonally divided, green for paid amount, red for unpaid amount. Generate and Download PDF: payment receipt and overdue notification.
- Paid in Advance: Blue. (with a decrease option for late payment). This option is the only authorized option for future months. Generate and Download PDF: payment receipt
- Late Payment: Orange (with an increase option for late payment). Generate and Download PDF: payment receipt
- Down the matrix table.
Audit Trail that only records the final confirmed state (not every intermediate edit) to avoid discrepancies between the table and the log. A table with date, time, Operation description, and amount).
2.2.5.2 Outcome Matrix Table
- Columns: Months of the year (January to December), Sum column.
- Rows: Names of expenses (10 predefined, editable, removable, add new ones), Sum row.
- Cells:
- Amount Entry: Enter the expense amount.
- Justification: Upload a photo (optional).
- Down the matrix table.
Audit Trail that only records the final confirmed state (not every intermediate edit) to avoid discrepancies between the table and the log. A table with date, time, Operation description, and amount).
2.2.6 Exceptional Budget
- Exceptional Budget Management: Create and manage exceptional budgets.
- Income and Outcome: Track income and outcome for exceptional budgets. Audit Trail that only records the final confirmed state .
- PDF and XLS Generation: Generate PDF and XLS reports for exceptional budget statements. The file must be available to download once generated.
2.2.7 Reports
- Report Aggregation: Group and organize all reports for easy access.
- PDF Generation: Generate PDF reports for various modules.
2.2.8 Documents
- Document Management: Upload, organize, and access documents.
- Search and Filter: Filter documents by date, time, size, and name.
2.3 Settings
- Backup and Restore: Backup and restore data.
- Profile Management: Manage user profiles.
- Language Selection: Switch between French and English.
Related categories:
Website Design
Database Programming
Web Development
Backend Development
Frontend Development