0% found this document useful (0 votes)
2 views

Programming 1

The Community Home Owner Information Portal is a software application designed to manage homeowner information and facilitate communication within communities. It offers features such as secure user authentication, financial management, maintenance requests, and community engagement tools. The system enhances communication, efficiency, and security for homeowners and associations alike.

Uploaded by

angelllibawas
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Programming 1

The Community Home Owner Information Portal is a software application designed to manage homeowner information and facilitate communication within communities. It offers features such as secure user authentication, financial management, maintenance requests, and community engagement tools. The system enhances communication, efficiency, and security for homeowners and associations alike.

Uploaded by

angelllibawas
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Computer Programming 1:Individual Project

Project/Title: Community Home Owner Information Portal

The project entitled "Community Home Owner Information Portal " is a software application that serve as a center
for managing information and facilitating communication with the homeowner .The said project/system can help
the homeowner navigate their account and keep them informed and engaged with their communities.

Advantage of the Community Home Owners Information Portal can be classified into the following :

1. Enhanced Communication and Transparency-provides a central hub for information dissemination, real-time
access to documents, and open communication.

2. Improved Efficiency and Convenience-processes for payments, service requests, and document access save time
and effort for both homeowners and the association.

3. Enhanced Security and Data Management-to secure access control, utilizing user authentication and role-based
permissions to protect sensitive information.

Features of the system

1. Secure User Authentication and Access Control- to ensure that only authorized individuals can access sensitive
information.

2. Communication and Announcements-for keeping homeowners informed about important announcements.

3. Financial Management and Dues Payment-a secure platform for homeowners to manage their financial
accounts.

4. Maintenance and Service Requests-maintenance requests or service requests directly through the portal.

5. Document Management and Storage-Homeowners should be able to access these documents easily, ensuring
transparency and accountability.

6. Community Calendar and Events-helps to keep homeowners informed and engaged in community activities.

7. Architectural Review and Permitting- process to ensures that all modifications comply with community
guidelines

8. Community Directory and Resources-helps to connect homeowners with valuable information and services
within their neighborhood.

9. Feedback and Survey Tools-to scale homeowner satisfaction, identify areas for improvement, and make
informed decisions based on community input.

10. Mobile Accessibility-allowing homeowners to manage their accounts and access information on their
smartphones or tablets.

Source Code:

using System;
using System.Collections.Generic;
namespace CommunityHomeOwnerPortal
{
class Program
{
// Class to store user details
class User
{
public string Username { get; set; }
public string Password { get; set; }
public string Role { get; set; }
public double Dues { get; set; }
public bool HasMobileAccess { get; set; }

public User(string username, string password, string role, double dues, bool
hasMobileAccess)
{
Username = username;
Password = password;
Role = role;
Dues = dues;
HasMobileAccess = hasMobileAccess;
}
}

// List to simulate users database


static List<User> usersDatabase = new List<User>
{
new User("john_sys", "password123", "Homeowner", 150.0, true),
new User("admin", "admin123", "Admin", 0.0, true)
};

static User currentUser = null;

static void Main(string[] args)


{
// Start the authentication process
Console.WriteLine("Welcome to the Community Homeowner Information Portal!");

// Step 1: Authenticate user


AuthenticateUser();

// Step 2: Show the main menu


ShowMainMenu();
}

// Method to authenticate the user


static void AuthenticateUser()
{
Console.Write("Enter your username: ");
string username = Console.ReadLine();

Console.Write("Enter your password: ");


string password = Console.ReadLine();

// Find user from database


currentUser = usersDatabase.Find(user => user.Username == username &&
user.Password == password);

if (currentUser == null)
{
Console.WriteLine("\nInvalid username or password. Please try again.");
AuthenticateUser(); // Recurse if credentials are wrong
}
else
{
Console.WriteLine($"\nWelcome, {currentUser.Username}!");
}
}

// Method to show the main menu and handle user choices


static void ShowMainMenu()
{
bool exitPortal = false;

while (!exitPortal)
{
// Display main menu options
Console.WriteLine("\nMain Menu:");
Console.WriteLine("1. Check Dues");
Console.WriteLine("2. Submit Maintenance Request");
Console.WriteLine("3. View Documents");
Console.WriteLine("4. Submit Feedback");
Console.WriteLine("5. Check Mobile Access");
Console.WriteLine("6. Logout");
Console.Write("\nEnter your choice (1-6): ");

string choice = Console.ReadLine();

// Handle user choice


switch (choice)
{
case "1":
CheckDues();
break;
case "2":
SubmitMaintenanceRequest();
break;
case "3":
ViewDocuments();
break;
case "4":
SubmitFeedback();
break;
case "5":
CheckMobileAccess();
break;
case "6":
Logout();
exitPortal = true;
break;
default:
Console.WriteLine("Invalid choice. Please try again.");
break;
}
}
}

// Method to check and display user dues


static void CheckDues()
{
if (currentUser.Dues > 0)
{
Console.WriteLine($"You have {currentUser.Dues:C} in pending dues.");
}
else
{
Console.WriteLine("Your dues are paid in full. Thank you!");
}
}

// Method to submit a maintenance request


static void SubmitMaintenanceRequest()
{
Console.Write("Enter your maintenance issue: ");
string maintenanceIssue = Console.ReadLine();
Console.WriteLine($"Your maintenance request '{maintenanceIssue}' has been
submitted.");
}

// Method to view documents (based on role)


static void ViewDocuments()
{
Console.WriteLine("Viewing documents...");

if (currentUser.Role == "Homeowner")
{
Console.WriteLine("Available Documents: ");
Console.WriteLine("- Community Guidelines");
Console.WriteLine("- Monthly Newsletter");
}
else if (currentUser.Role == "Admin")
{
Console.WriteLine("Available Documents for Admin: ");
Console.WriteLine("- Community Guidelines");
Console.WriteLine("- Monthly Newsletter");
Console.WriteLine("- Financial Reports");
Console.WriteLine("- Maintenance Logs");
}
}

// Method to submit feedback


static void SubmitFeedback()
{
Console.Write("Enter your feedback: ");
string feedback = Console.ReadLine();
Console.WriteLine("Your feedback has been submitted. Thank you for your input!");
}

// Method to check if the user has mobile access


static void CheckMobileAccess()
{
if (currentUser.HasMobileAccess)
{
Console.WriteLine("You have mobile access to the portal.");
}
else
{
Console.WriteLine("You do not have mobile access to the portal.");
}
}

// Method to log out the user


static void Logout()
{
Console.WriteLine("You have been logged out.");
currentUser = null; // Clear current user session
Console.WriteLine("Redirecting to the login screen...");
AuthenticateUser(); // Call the login process again

}
}
}

You might also like