


Construire une plateforme de gestion de propriétés locatives avec React
Oct 19, 2024 pm 08:38 PMMovin' In est une plateforme de gestion de propriétés locatives, orientée agence avec un backend pour la gestion des propriétés, des clients et des réservations, un frontend et une application mobile pour la location de propriétés.
Avec la solution suivante, vous pouvez créer un site Web de location de propriété entièrement personnalisable, optimisé pour plusieurs agences avec une passerelle de paiement Stripe opérationnelle à très faible co?t en l'hébergeant sur un droplet Docker avec au moins 1 Go de RAM.
Vous pouvez trouver le code source ici?: https://github.com/aelassas/movinin
Movin' In est con?u pour fonctionner avec plusieurs agences. Les agences peuvent gérer leurs propriétés et leurs réservations depuis le backend. Movin' In peut également fonctionner avec une seule agence et peut être utilisé comme agrégateur de locations immobilières.
Depuis le backend, les administrateurs peuvent créer et gérer des agences, des propriétés, des emplacements, des utilisateurs et des réservations.
Lorsque de nouvelles agences sont créées, elles re?oivent un email les invitant à créer leur compte pour accéder au backend et gérer leurs propriétés, leurs clients et leurs réservations.
Les clients peuvent s'inscrire depuis l'interface utilisateur ou l'application mobile, rechercher des propriétés disponibles en fonction du point de localisation et de l'heure, choisir une propriété et terminer le processus de paiement.
Une décision clé en matière de conception a été prise d'utiliser TypeScript en raison de ses nombreux avantages. TypeScript offre un typage, des outils et une intégration puissants, ce qui donne lieu à un code de haute qualité, évolutif, plus lisible et maintenable, facile à déboguer et à tester.
Caractéristiques
- Gestion d'agence
- Prêt pour une ou plusieurs agences
- Gestion immobilière
- Gestion des réservations
- Gestion des paiements
- Gestion client
- Plusieurs méthodes de paiement (Carte de crédit, PayPal, Google Pay, Apple Pay, Link, Pay Later)
- Passerelle de paiement Stripe opérationnelle
- Support multilingue (anglais, fran?ais)
- Options de pagination multiples (pagination classique avec boutons suivant et précédent, défilement infini)
- Backend et frontend réactifs
- Application mobile native pour Android et iOS avec une base de code unique
- Notifications push
- Sécurisé contre XSS, XST, CSRF et MITM
- Plateformes prises en charge?: iOS, Android, Web, Docker
Démo en direct
L'extrémité avant
- URL : https://movinin.dynv6.net:3004/
- Connexion : jdoe@movinin.io
- Mot de passe : M00vinin
Back-end
- URL : https://movinin.dynv6.net:3003/
- Connexion?: admin@movinin.io
- Mot de passe : M00vinin
Application mobile
Vous pouvez installer l'application Android sur n'importe quel appareil Android.
Scannez ce code avec un appareil
Ouvrez l'application Appareil photo et pointez-la sur ce code. Appuyez ensuite sur la notification qui appara?t.
Comment installer l'application mobile sur Android
Sur les appareils fonctionnant sous Android 8.0 (API niveau 26) et supérieur, vous devez accéder à l'écran des paramètres système d'installation d'applications inconnues pour activer l'installation d'applications à partir d'un emplacement particulier (c'est-à-dire le navigateur Web à partir duquel vous téléchargez l'application). .
Sur les appareils exécutant Android 7.1.1 (API niveau 25) et versions antérieures, vous devez activer le paramètre système Sources inconnues, trouvé dans Paramètres > Sécurité sur votre appareil.
Méthode alternative
Vous pouvez également installer l'application Android en téléchargeant directement l'APK et en l'installant sur n'importe quel appareil Android.
- Télécharger l'APK
- Connexion : jdoe@movinin.io
- Mot de passe : M00vinin
Ressources
- Aper?u
- Architecture
- Installation (auto-hébergé)
- Installation (VPS)
-
Installation (Docker)
- Image Docker
- SSL
- Configuration de Stripe
- Créer une application mobile
-
Base de données de démonstration
- Windows, Linux et macOS
- Docker
- Exécuter à partir de la source
-
Exécuter l'application mobile
- Prérequis
- Instructions
- Notifications push
- Changer de devise
- Ajouter une nouvelle langue
- Tests unitaires et couverture
- Journaux
Tout commentaire est apprécié.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Java et JavaScript sont différents langages de programmation, chacun adapté à différents scénarios d'application. Java est utilisé pour le développement des grandes entreprises et des applications mobiles, tandis que JavaScript est principalement utilisé pour le développement de pages Web.

JavaScriptCommentsaSententialFormantaining, Reading et GuidingCodeEexecution.1) unique-linecomesaUSEUSEFORQUICKEXPLANATIONS.2) Multi-linecommentSExPlainComplexLogicorProvideTailedDocumentation.3) Inlinecomementsclarifypecifications

Les points suivants doivent être notés lors du traitement des dates et du temps dans JavaScript: 1. Il existe de nombreuses fa?ons de créer des objets de date. Il est recommandé d'utiliser les cha?nes de format ISO pour assurer la compatibilité; 2. Get and définir des informations de temps peuvent être obtenues et définir des méthodes, et notez que le mois commence à partir de 0; 3. Les dates de mise en forme manuelle nécessitent des cha?nes et les bibliothèques tierces peuvent également être utilisées; 4. Il est recommandé d'utiliser des bibliothèques qui prennent en charge les fuseaux horaires, comme Luxon. La ma?trise de ces points clés peut éviter efficacement les erreurs courantes.

PlacertagsatthebottomofablogPostorwebPageSerSpracticalPurpossForseo, userexperience, anddesign.1.ithelpswithseobyallowingsechingenginestoaccesskeyword-elevanttagswithoutcluteringtheaincontent..itimproveserexperceenceegmentyepingthefocusonThearrlUl

Javascriptispreferredforwebdevelopment, tandis que javaisbetterforlarge-scalebackenSystemsandandroidApps.1)

JavascripthSsevenfundamentalDatatypes: nombre, cha?ne, booléen, indéfini, nul, objet, andymbol.1) nombres usUseadouble-précisformat, utile

La capture d'événements et la bulle sont deux étapes de la propagation des événements dans DOM. La capture est de la couche supérieure à l'élément cible, et la bulle est de l'élément cible à la couche supérieure. 1. La capture de l'événement est implémentée en définissant le paramètre UseCapture d'AdveventListener sur true; 2. événement Bubble est le comportement par défaut, UseCapture est défini sur False ou Omise; 3. La propagation des événements peut être utilisée pour empêcher la propagation des événements; 4. événement Bubbling prend en charge la délégation d'événements pour améliorer l'efficacité du traitement du contenu dynamique; 5. La capture peut être utilisée pour intercepter les événements à l'avance, telles que la journalisation ou le traitement des erreurs. La compréhension de ces deux phases aide à contr?ler avec précision le calendrier et comment JavaScript répond aux opérations utilisateur.

Java et JavaScript sont différents langages de programmation. 1.Java est un langage typique et compilé, adapté aux applications d'entreprise et aux grands systèmes. 2. JavaScript est un type dynamique et un langage interprété, principalement utilisé pour l'interaction Web et le développement frontal.
