PropFlow API is a comprehensive property management system designed for Airbnb hosts in Dallas, Texas. It helps hosts manage their properties, track expenses, handle bookings, and maintain cleaning schedules while ensuring compliance with local regulations.
-
Property Management
- CRUD operations for properties
- Property details and pricing management
- STR permit tracking
- Photo management
-
Booking Management
- Reservation tracking
- Check-in/check-out management
- Guest communication logs
- Occupancy tracking
-
Financial Management
- Expense tracking
- Revenue monitoring
- Break-even analysis
- Financial projections
- Hotel occupancy tax calculations
-
Cleaning Management
- Cleaning schedule
- Customizable checklists
- Service provider management
- Quality tracking
- Java 17
- Spring Boot 3.2.0
- Spring Security
- Spring Data JPA
- PostgreSQL
- Maven
- JWT Authentication
- Angular 16+
- TypeScript
- Tailwind CSS
- Node.js 18+
- npm
- JDK 17 or later
- Node.js 18.x or later
- PostgreSQL 13 or later
- Maven 3.8+
- Git
- Clone the repository
git clone https://github.com/yourusername/PropFlow-API.git
cd PropFlow-API- Configure PostgreSQL
CREATE DATABASE airbnb_management;- Update application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/airbnb_management
spring.datasource.username=your_username
spring.datasource.password=your_password- Build and run the backend
mvn clean install
mvn spring-boot:runCreate a .env file in the root directory and add the following:
# Database Configuration
DB_HOST=localhost
DB_PORT=5432
DB_NAME=airbnb_management
DB_USERNAME=your_username
DB_PASSWORD=your_password
# JWT Configuration
JWT_SECRET=your_jwt_secret
JWT_EXPIRATION=86400000
# Server Configuration
SERVER_PORT=8080http://localhost:8080/api
GET /properties- Get all propertiesGET /properties/{id}- Get property by IDPOST /properties- Create new propertyPUT /properties/{id}- Update propertyDELETE /properties/{id}- Delete property
GET /bookings- Get all bookingsPOST /bookings- Create new bookingPUT /bookings/{id}- Update booking status
GET /expenses- Get all expensesPOST /expenses- Add new expenseGET /expenses/summary- Get expense summary
- Build the JAR file: Make sure you have built the JAR file of your Spring Boot application. You can do this by running:
./mvnw clean package- Build the Docker image: Run the following command to build the Docker image:
docker-compose build
- Run the Docker container: Run the following command to start the container:
docker-compose up
This will start your Spring Boot application inside a Docker container and map port 8081 of the container to port 8081 on your host machine. You can access your application at http://localhost:8081.
mvn testng test- Build the backend
mvn clean package- Build the frontend
ng build --prod- Deploy the generated artifacts to your server
Important regulations for Dallas Airbnb hosts:
- STR Permit required for rentals ≤ 30 days
- 7% hotel occupancy tax collection required
- Compliance with local zoning restrictions
- Written landlord permission required for rental properties
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
For support, email support@PropFlow.api or join our Slack channel.
- Mobile application
- Integration with Airbnb API
- Smart pricing optimization
- Automated guest communication
- Advanced analytics dashboard
- Multi-language support