real estate management

Real estate and physical property management to connect property managers and potential buyers.

224
151
TypeScript

GitHub Repo stars
License

real-estate-management

A web and mobile property management solution built with Ionic, Angular and Nodejs Fastify.
Designed for managing residential, commercial, and land properties the app allows users to explore available estates via an interactive map and directly send inquiries to property owners.

🚧 frontend/ work in progress 🚧.

🚧 backend-fastify/ work in progress 🚧.

LIVE WEB PREVIEW

šŸŽØ Themes

šŸ“± Android (Pixel 7)

šŸ’» Desktop Browser

ā˜€ļø Light Theme

šŸŒ™ Dark Theme

šŸ—ƒļø Dependencies

Frontend

Backend

šŸ§‘ā€šŸ’» SETUP

Frontend web setup

1.1 navigate to frontend/ directory.

#  navigate to frontend 
$ cd frontend

1.2 Fill the desired environment variables:

  • navigate to frontend/src/environments
  • set values to variables (ex. api.url)
  api: {
    server: 'http://localhost:8000/', <-- server URL
    mapKey: '', <-- Leaflet map key,
    googleAuthClientId: '', <-- google Auth CLient ID for Social signin
    webSocketUrl: 'ws://localhost:8000/websocket' <-- websocket URL
  }

2. then install dependencies & run ionic serve

In terminal - command

# install dependencies
$ npm install

# serve frontend
$ ionic serve

Tailwindcss Build Styles

# Build to Generate styles
$ npm run tailwind:build

# Build to Generate styles & Watch
$ npm run tailwind:watch

šŸ“± Android setup

sync any chages from web to android:

npx cap sync android

If Android is not available (Optional)

npx cap add android

run to open Android Studio

npx cap open android

To run the project on Emulator or Device (Alternative)

npx cap run android

Backend-Fastify setup

1.1 navigate to backend-fastify/ directory.

cd backend-fastify/

1.2 create .env file & add variables:

  • copy .env.example & re-name it to .env
  • set your desired variable value
PORT=8000
LOGGER=true
SALT=12
SECRET_KEY='secret'
DB_CONNECT=mongodb://localhost:27017/rem-db

2. then install dependencies & run dev

In terminal - command

#  navigate to backend-fastify 
$ cd backend-fastify

# install dependencies
$ npm install

# start server
$ npm start `or` $ npm run dev

2.1 Database seeder(optional)

  • Make sure .env is configured & dependencies are installed
  • Will populate database with dummy data.

āš ļø This will delete existing records in the database document.

āš ļø Make a backup if needed

$ npm run db:seeder

dummy user:

  fullName: "test tester",
  email: "[email protected]",
  password: "password"

  You can use this to signin.

Routes

/docs/
/users/
/auth/
/properties/
/enquiries/