Skip to content

Frontend application for the Realty platform. It works in conjunction with the Realty Backend API service.

License

Notifications You must be signed in to change notification settings

dnstock/realty-frontend

Repository files navigation

Realty Frontend

Description

Frontend User Interface for the real estate management system. This application is part of the Realty platform. It works in conjunction with the Backend API Service to provide a complete solution for managing commercial real estate properties.

Features

  • User authentication
  • Dashboard view
  • Property management
  • Unit tracking
  • Tenant management
  • Lease administration
  • Insurance tracking
  • Reporting and analytics
  • More...

Tech Stack

  • ReactJS
  • Material-UI (MUI)
  • Oauth2
  • Axios
  • Sonner
  • Formik
  • Yup
  • Day.js
  • More...

Getting Started

Prerequisites

  • Node.js
  • npm or yarn
  • Docker (optional)

Backend API Service

This app requires the Backend API Service to be running. Follow the instructions in the Backend README to get the API service up and running.

It uses the REACT_APP_API_BASE_URL environment variable to specify the API base URL. If not provided, it defaults to http://localhost:8000/api/v1.

Installation

This application can be run locally or in a Docker container. Follow the instructions below to get started.

Clone the repository:

git clone git@github.com:dnstock/realty-frontend.git
cd realty-frontend

Install dependencies:

npm install
# or
yarn install

Development

Development Server

To start the development server:

npm start

The application will be available at http://localhost:3000.

Docker Container

To run the application in a Docker container:

docker-compose -f docker-compose.dev.yml up
# or
npm docker:dev

Build & Deployment

To create a production build:

npm run build

The build artifacts will be available in the build directory.

To serve the production build:

npm run serve

The application will be available at http://localhost:8080.

Docker Container

To run the application in a Docker container:

docker-compose -f docker-compose.prod.yml up
# or
npm docker:prod

Linting

To lint the code:

npm run lint

To fix linting issues:

npm run lint:fix

Formatting

To format the code:

npm run format

To check for formatting issues:

npm run format:check

Project Structure

.
├── src/
│   ├── index.js                # Application entry point
│   ├── App.js                  # Root application component
│   ├── assets/                 # Static assets
│   ├── components/             # Reusable UI components
│   │   ├── dialogs/            # Dialog components
│   │   ├── forms/              # Form components
│   │   ├── layouts/            # Layout components
│   │   │   ├── content/        # Content layout components
│   │   │   ├── page/           # Page layout components
│   │   ├── routing/            # Routing components
│   │   └── tables/             # Table components
│   ├── config/                 # Configuration files
│   │   ├── resources/          # Resource data models
│   │   └── routes/             # Routing handlers
│   ├── context/                # React context providers
│   ├── hooks/                  # Custom React hooks
│   ├── pages/                  # Page components
│   ├── services/               # API services
│   ├── theme/                  # MUI theme customization
│   └── utils/                  # Utility functions
└── public/
    └── index.html              # HTML entry point

Docker Support

Development and production Docker configurations are available:

# Development
docker-compose -f docker-compose.dev.yml up
# or
npm docker:dev

# Production
docker-compose -f docker-compose.prod.yml up
# or
npm docker:prod

Environment Variables (optional)

Create a .env file in the root directory:

REACT_APP_API_BASE_URL="http://localhost:8000/api/v1"  # Default API base URL

Testing

This application uses Jest and React Testing Library for testing. To run the tests:

npm test

To run the tests with coverage:

npm test:coverage

Contributing

Contributions are welcome!

To contribute, please follow these steps:

  1. Fork the repository
gh repo fork git@github.com:dnstock/realty-frontend.git
  1. Create a new branch
git checkout -b feature/my-feature
  1. Make your changes
git add .
git commit -m "Add my feature"
  1. Commit your changes to your fork
git push origin feature/my-feature
  1. Create a pull request
gh pr create
  1. Wait for review and approval
gh pr status
  1. Make any requested changes
git add .
git commit -m "Address review comments"
git push origin feature/my-feature
  1. Merge your changes
gh pr merge
  1. Celebrate your contribution!
🎉

Support

For support, please contact the author.

Authors

License

This project is open source and available under the MIT License - see the LICENSE file for details.

About

Frontend application for the Realty platform. It works in conjunction with the Realty Backend API service.

Resources

License

Stars

Watchers

Forks

Languages