Skip to content

My first Web Project - Property Management App, based on ASP.NET Core, EF Core, MS SQL Server and Razor Pages

Notifications You must be signed in to change notification settings

bodyquest/Homy-Property-Management-Web-Project

Repository files navigation

HOMY Property Management

ASP .NET Core 3.1 Web Application Project

C# Web Development Path at Software University, Bulgaria


ABOUT my web project:


  • Homy Real-Estate Property Management (RPM) is an online platform for renting and managing homes. Owners can list their properties for long-term rental and/or find long-term management solutions.

  • The platform meets owners, potential tenants and potential property managers. Quite often, the owners don't live close to all their properties. They could even live in another country. Managing their properties scattered everywhere, is a challenge.


Access to the website: HOMY at AZURE


Homy Property Management


Database

Microsoft SQL Server along with Entity Framework Core were used to create and store the values. The database schema consists of the following main entities:

  • Users
  • Homes
  • Cities
  • Countries
  • Rentals
  • Contracts
  • CloudImages
  • TransactionRequests
  • Payments
  • StripeSessions
  • Hangfire Database Schema inside the main production DB

See the Schema here: DatabaseSchema

Backend

The web project contains:

  • 3 different areas: Identity, Administration, Management
  • 85+ service methods
  • 29 controllers
  • 35+ views

Features

This web platform allows a guest to the website to view and find listings by city, or explore by category or listing status.

A guest can also contact the support of the website. In order to send requests to the owners of the listings, a guest must be registered and signed in.

Signed in user has three main choices:

  • To List a home, thus becomming a role of owner
  • To request for renting a home, becomming a tenant if the owner approves the request
  • To request for managing a home, becomming a manager if the owner approves the request

An Owner has special admin dashboard. The owner can:

  • Overview his/her Listings, Requests, Payment list, Recurring transaction list, List of rented properties
  • Add new Listing
  • Approve/Reject requests for rent/management/cancel rent/ cancel management
  • Remove Listing (only if it has no manager and tenant)
  • Create transaction requests on recurring basis - for payments by the owner or to the owner
  • Send payment to the manager

A Manager has special admin dashboard as well. The manager can:

  • Overview his/her managed properties and list of due payments by the owner

There is also an Admin of the site which currently has some basic privilleges from the dashboard. Most important of them are:

  • Add Country / City to the list of Countries/Cities supported by the platform
  • Add users to specific role (owner, manager etc.)
  • Overview all listings
  • Create new Listing to specific user

Technologies Used

This website is designed and runs using the main technologies below:

  1. C#
  2. ASP.NET Core 3.1
  3. Entity Framework Core 3.1
  4. MS SQL Server
  5. Bootstrap 4
  6. JavaScript
  7. HTML5
  8. CSS
  9. MS Visual Studio 2019
  10. MS SQL Server Management Studio 2017
  11. Microsoft Azure
  12. Theme - Locals by Colorlib
  13. Theme - Admin LTE 3.0.2 by Colorlib
  14. Hangfire API
  15. Stripe API
  16. Google reCAPTCHA v3 API
  17. Cloudinary API
  18. Sendgrid API


This website has been created solely for educational purposes.


About

My first Web Project - Property Management App, based on ASP.NET Core, EF Core, MS SQL Server and Razor Pages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published