Bonjour à tous,
Dans le cadre d'un projet d'étude, nous devons réaliser un MCD d'une application web d'investissement immobilier fractionné tel que Fragments ou Bricks.
L’immobilier fractionné est une forme d’investissement où plusieurs investisseurs s’unissent pour acquérir ensemble un actif immobilier. Chaque investisseur détient ainsi une fraction de propriété, ce qui lui donne droit à une partie des bénéfices (loyers, plus-value de cession…) générés par cet actif. L’investissement dans l’immobilier est de ce fait beaucoup plus accessible.
Novice sur les MCD, je vous avoue qu'on a un peu de mal à s'auto-corriger sur ce que nous avons fait et nous avons besoin d'aide extérieure..
Nous vous serions très reconnaissants pour votre assistance et le partage de vos connaissances.
L'application :
La plateforme "Slice" sera une plateforme d'investissement crowdfunding immobilier qui sélectionne des biens dans lesquels les utilisateurs pourront investir à partir de 20€ et percevoir des revenus tous les mois.
1 "Slice" = 20€
- Un utilisateur peut avoir un des 3 rôles : connecté / validé / admin
Connecté : Un utilisateur seulement connecté pourra consulter la liste des biens. Il pourra vérifier son compte pour + d'actions.
- Validé : Un utilisateur validé aura accès à son portefeuille Slice avec lequel il pourra investir et percevoir des revenus.
- Admin : Un utilisateur admin pourra CRUD (Create, Read, Update, Delete) des biens, générer des Slice, valider les virements et autres demandes.
- Un utilisateur "lambda" pourra se connecter sur l'application avec son adresse mail et un mot de passe. S'il veut pouvoir investir dans des biens, il faudra qu'il complète son profil et valide son compte.
- Un utilisateur validé aura un code de parrainage à partager.
- Un utilisateur aura, une fois validé, un wallet sur lequel il pourra déposer de l'argent pour acheter des Slices, ainsi que recevoir les revenus de ses investissements.
- Si un utilisateur veut mettre de l'argent sur son wallet, il fait une transaction, par carte bleue ou par virement. Si c'est par virement, la transaction générera une demande qu'un utilisateur admin devra valider.
- Un bien équivaut à une somme d'argent donc à un nombre donné de Slice. Un bien possède une liste de documents que seul les utilisateurs validés peuvent consulter.
- Si un utilisateur veut investir dans un bien, il va donc acheter un ou des Slices lié à ce bien. Il va faire une transaction = débiter du wallet la somme pour acheter et posséder des Slices.
- Un Slice possède un id unique, en prévention d'une potentielle marketplace interne pour pouvoir revendre ses Slices d'un bien. Il devra aussi posséder une sorte de token aléatoire.
- L'achat de Slice d'un bien générera un contrat que l'utilisateur devra signer.
- Un bien sur lequel un utilisateur a investi des Slice va lui générer un revenu donc une transaction de crédit/ débit du wallet.
- Un utilisateur pourra avoir accès à un historique de ses transactions.
- Un utilisateur pourra retirer de son wallet de l'argent via une transaction, ce qui générera une demande qu'un utilisateur admin devra valider.
Avec ses informations je distingue 9 entités : Utilisateur [User] / [Wallet] / [Transaction] / [Slice] / [Contrat] / Demande [Request] / Bien [Property] / [Document] / [Revenue]
Je distingue également ces associations :
- Un utilisateur peut avoir 0 ou 1 wallet, mais un wallet n'est détenu que par un unique utilisateur = [User] 0,1 --- 1,1 [Wallet]
- Un utilisateur peut faire 0 ou n transaction, une transaction peut être générée par un utilisateur = [User] 0,n --- 0,1 [Transaction]
- Une transaction peut générer 0 ou n demande, une demande n'est générée que par une transaction = [Transaction] 0,n --- 1,1 [Request]
- Une demande doit être validée par un utilisateur, un utilisateur peut valider 0 ou n demande = [Request] 1,1 --- 0,n [User]
- Une transaction peut créditer ou débiter de l'argent sur le wallet, le wallet peut avoir 0 ou n transaction = [Transaction] 0,1 --- 0,n [Wallet]
- Une transaction peut générer l'achat de Slice, un Slice peut etre lié à plusieurs transaction (en prévision d'une marketplace) = [Transaction] 0,n --- 1,n [Slice]
- Un Slice génère un contrat, un contrat est lié à un slice = [Slice] 1,1 --- 1,1 [Contrat]
- Un utilisateur peut avoir/signer 0 ou plusieurs contrat, un contrat n'est detenu que par un utilisateur = [User] 0,n --- 1,1 [Contrat]
- Un bien génère 1 ou plusieurs Slice, un Slice n'appartient qu'à un bien = [Property] 1,n --- 1,1 [Slice]
- Un bien peut posséder des documents, un document peut etre lié à plusieurs biens = [Property] 0,n --- 1,n [Document]
- Un bien génère 0 ou n revenu, un revenu est lié à un bien = [Property] 0,n --- 1,1 [Revenue]
- Un revenu génère 1 ou n transaction, une transaction est liée à un revenu = [Revenue] 1,n --- 1,1 [Transaction]
- Un utilisateur peut voir les documents, un document peut etre vu par un utilisateur = [User] 0,n --- 0,1 [Document]
Nous avons donc réalisé ce MDC :
![]()
Partager