GithubHelp home page GithubHelp logo

rent-a-room's Introduction

rent-a-room

Raummanaging Software ählich wie AirBNB

Gibb Modul 165

create db script

use rent-a-room

create collection

db.createCollection("rooms")
db.createCollection("persons")

insert room documents

db.rooms.insertOne({ 
    "name": "Studio zum Arbeiten",  
    "beschreibung": "Ein Studio mit guter Belichtung. Perfekt zum Arbeiten!",  
    "ort": {  
        "type": "Point",  
        "koordinaten": [13.4050, 52.5200] 
    },  
    "bewohner_ids": ["[email protected] ", "[email protected]"], 
    "besitzer_id": "[email protected]", 
    "zimmer": 2,  
    "fläche": 20,  
    "gebucht_von": ISODate("2024-03-14T00:00:00Z"), 
    "gebucht_bis": ISODate("2024-03-21T00:00:00Z") 
}) 

insert persons documents

db.persons.insertOne({ 
  "_id": "[email protected]", 
  "vorname": "Max", 
  "nachname": "Mustermann", 
  "alter": 30, 
  "geschlecht": "männlich", 
  "telefon": "0123456789", 
  "email": "[email protected]" 
}); 

 

Update a room

db.rooms.update( 
  { _id: ObjectId("65f321caeb1f6bbd3a48cf49") }, 
  {  
    $set: {  
      "bewohner_ids": ["[email protected]", "[email protected]"],  
      "gebucht_von": ISODate("2024-03-11T00:00:00Z"), 
      "gebucht_bis": ISODate("2024-03-18T00:00:00Z") 
    }  
  } 
) 

update a person

db.persons.update( 
  { _id: "[email protected]" }, 
  {  
    $set: {  
      "telefon": "9876543210"  
    }  
  } 
) 

löschen

db.rooms.deleteOne({ _id: ObjectId("65f321caeb1f6bbd3a48cf49") }) 
db.persons.deleteOne({ _id: "[email protected]” }) 

dynamik

vollständige collection

{ 
  "name": "Studio zum Arbeiten",  
  "beschreibung": "Ein Studio mit guter Belichtung. Perfekt zum Arbeiten!",  
  "ort": {  
      "type": "Point",  
      "koordinaten": [13.4050, 52.5200] 
  },  
  "bewohner_ids": ["[email protected] ", "[email protected]"], 
  "besitzer_id": "[email protected]", 
  "zimmer": 2,  
  "fläche": 20,  
  "gebucht_von": ISODate("2024-03-14T00:00:00Z"), 
  "gebucht_bis": ISODate("2024-03-21T00:00:00Z") 
} 

nicht gebuchter raum, ohne "bewohner_ids" und ohne "gebucht von/bis"

{ 
  "name": "Studio zum Arbeiten",  
  "beschreibung": "Ein Studio mit guter Belichtung. Perfekt zum Arbeiten!",  
  "ort": {  
      "type": "Point",  
      "koordinaten": [13.4050, 52.5200] 
  },  
  "besitzer_id": "[email protected]", 
  "zimmer": 2,  
  "fläche": 20 
} 

nicht gebuchter raum und ohne "Beschreibung"

{ 
  "name": "Studio zum Arbeiten",  
  "ort": {  
      "type": "Point",  
      "koordinaten": [13.4050, 52.5200] 
  },  
  "besitzer_id": "[email protected]", 
  "zimmer": 2,  
  "fläche": 20 
} 

Daten anzeigen

eine entität anzeigen

db.rooms.findOne({ _id: ObjectId("65f321caeb1f6bbd3a48cf49") }) 
db.persons.findOne ({ _id: "[email protected]" }) 

alle entitäten anzeigen

db.rooms.find() 
db.persons.find() 

sortieren nach anzahl Zimmer

db.rooms.find().sort({"zimmer": -1}) 

finde nach beschreibung

db.rooms.find({"beschreibung": "grosses Haus"}) 

finde raum grösser als quadratmeter

db.rooms.find({"fläche": { $gt: 100 } }) 

sonstiges, für uns relevant

Realistisches Anzeigen von Daten, wie sie in etwa in der App funktionieren:

[Alle]

  • Alle LEEREN Räume finden, egal wo
  • Sortieren/Filtern nach Ort, Fläche, Zimmeranzahl etc.

[Nur jeder User für sich]

  • Den Raum anzeigen, welchen man besitz
  • Den Raum anzeigen, welchen man bewohnt
  • Sein eigenes Profil anzeigen
  • Sein eigenes Profil bearbeiten (Telefon, Email, Alter...)
  • Sein Profil löschen

[Der Bucher]

  • Den Bewohner vom Raum ändern
  • Gebucht von/bis vom Raum ändern

[für Besitzer]

  • Raum erstellen
  • Die Raumdetails (Fläche, Zimmer, Besitzer, Beschreibung...) bearbeiten
  • Den Raum löschen

[Einmalig]

  • Benutzer erstellen
graph TD;
    Benutzer -->|startet Script| main.py;
    main.py --> gui.py;
    gui.py <--> db_connection.py;
    db_connection.py -->|verbindet|MongoDB;

rent-a-room's People

Contributors

sebastianchristen avatar lebaguette248 avatar

Watchers

 avatar

rent-a-room's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.