The Real Estate App is a comprehensive platform designed for managing property listings with a focus on usability and efficiency. This application enables users to browse, create, and manage property listings, while providing robust features for both end-users and administrators.
- Frontend:
- React: Library for building the user interface.
- Vite: Build tool and development server for fast, modern frontend development.
- react-i18next: Library for internationalization and localization.
- Axios: Promise-based HTTP client for making API requests.
- Axios-Interceptor: Custom Axios interceptor for handling and modifying requests and responses.
- Leaflet: JavaScript library for interactive maps.
- Backend:
- .NET: Framework for building the server-side application.
- Entity Framework Core (EF Core): ORM for database operations and management.
- IdentityServer: Authentication and authorization framework.
- Microsoft SQL Server: Relational database management system for storing user and property data.
- User Login: Login functionality for both Admin and User roles. Pre-defined users can be used for authentication.
- User Registration: New users can register by providing their details.
- Update User Information: Allows updating user name, email, and password. Changes are synchronized with relevant database fields.
- Property Type Management: Manage property types (Villa, Plot, Apartment), including adding and updating types.
- Property Status Management: Manage property statuses (For Rent, For Sale), including adding and updating statuses.
- Currency Management: Manage different currencies (TL, Dollar, Euro).
- Add New Property: Create new property listings by specifying type, status, photos, and price.
- Property Listing: Filter and list properties based on type, status, and price criteria.
- Property Details: View detailed information about individual property listings.
- Delete Property: Delete listings directly from the table view.
- Map Display: Properties are shown on the map with markers. Each marker can be clicked to view detailed information.
- Responsive Design: Ensures compatibility with both mobile and desktop devices.
- Internationalization: Offers support for Turkish and English languages using react-i18next for seamless multilingual experiences.
- JWT Token Based Auth Diagram
- EF Core Diagram
- Database (MSSQL Server) Diagram
Real Estate App requires .NET 8 and Node.js v20.11.1+ to run.
Download the project folder.
Install the dependencies and start the server for Frontend:
cd .\RealEstateFrontend\
npm install
npm run dev
For Backend, add migration on NuGet Package Manager Console.
add-migration initialCreate
update-database
Then start the server by click "Run" on VisualStudio:
- Also, I have dockerized the frontend and backend projects separately but I have not created compose yet.