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.
- User authentication
- Dashboard view
- Property management
- Unit tracking
- Tenant management
- Lease administration
- Insurance tracking
- Reporting and analytics
- More...
- ReactJS
- Material-UI (MUI)
- Oauth2
- Axios
- Sonner
- Formik
- Yup
- Day.js
- More...
- Node.js
- npm or yarn
- Docker (optional)
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
.
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
To start the development server:
npm start
The application will be available at http://localhost:3000.
To run the application in a Docker container:
docker-compose -f docker-compose.dev.yml up
# or
npm docker:dev
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.
To run the application in a Docker container:
docker-compose -f docker-compose.prod.yml up
# or
npm docker:prod
To lint the code:
npm run lint
To fix linting issues:
npm run lint:fix
To format the code:
npm run format
To check for formatting issues:
npm run format:check
.
├── 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
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
Create a .env
file in the root directory:
REACT_APP_API_BASE_URL="http://localhost:8000/api/v1" # Default API base URL
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
Contributions are welcome!
To contribute, please follow these steps:
- Fork the repository
gh repo fork git@github.com:dnstock/realty-frontend.git
- Create a new branch
git checkout -b feature/my-feature
- Make your changes
git add .
git commit -m "Add my feature"
- Commit your changes to your fork
git push origin feature/my-feature
- Create a pull request
gh pr create
- Wait for review and approval
gh pr status
- Make any requested changes
git add .
git commit -m "Address review comments"
git push origin feature/my-feature
- Merge your changes
gh pr merge
- Celebrate your contribution!
🎉
For support, please contact the author.
This project is open source and available under the MIT License - see the LICENSE file for details.