// the find
aelassas/movinin
Rental Property Management Platform with Mobile App
Full-stack rental property management platform: Node/Express backend, React admin panel, React frontend, and a single React Native codebase for iOS/Android. Handles multi-agency setups, property listings with date-based availability, bookings, and payments via Stripe or PayPal. Aimed at small property management businesses that want a self-hosted, white-label solution rather than paying for Buildium or AppFolio.
1. Dual payment gateway support (Stripe + PayPal) is a real differentiator for international deployments where Stripe isn't available — the fallback to PayPal is handled at the config level, not hacked in.
2. Backend test suite is thorough — separate test files for agency, booking, property, stripe, paypal, middleware, and auth, with a globalSetup indicating proper test isolation rather than tests that share state.
3. Multi-agency architecture is a first-class concern, not an afterthought — agencies get their own login, scoped property and booking management, and email onboarding flow baked in from the start.
4. One React Native codebase for iOS and Android with push notifications, plus a live APK download for immediate testing — low barrier to actually trying the mobile side.
1. MongoDB is a poor fit for a booking and payments domain — availability windows, double-booking prevention, and payment state transitions all need atomic multi-document transactions, which MongoDB supports but painfully. A relational DB with proper constraints would eliminate an entire class of bugs here.
2. The admin scheduler is vendored inline as ~30 TypeScript files under `admin/src/components/scheduler/` rather than a maintained library dependency — you own those bugs now, and any upstream fixes won't reach you.
3. 210 stars for a platform this feature-complete signals shallow real-world deployment. Mostly forks-to-customize with little contribution back, so you're likely to hit edge cases with no community fix available.
4. 60+ individual plain CSS files in the admin panel alone with no design system — adding a white-label theme or changing the color palette means touching dozens of files and hoping you got them all.