/akinita

A real estate website with user/classifields management by admins

Primary LanguagePHP

Στόχος της παρούσας εργασίας είναι η ανάπτυξη ενός πλήρους συστήματος για τη διαχείριση και καταχώρηση αγγελιών που αφορούν ακίνητα και συγκεκριμένα κατοικίες στην ευρύτερη περιοχή της Πάτρας. 
Το σύστημα θα δίνει στους εγγεγραμμένους χρήστες τη δυνατότητα της καταχώρησης αγγελιών οι οποίες θα είναι προσβάσιμες από τους επισκέπτες του συστήματος.
Στο σύστημα υπάρχουν 3 κατηγορίες χρηστών. Οι διαχειριστές, οι εγγεγραμμένοι χρήστες και οι επισκέπτες. 
Οι επισκέπτες που έχουν τα λιγότερα δικαιώματα μπορούν να δούν τις αγγελίες που έχουν καταχωρήσει οι εγγεγραμμένοι χρήστες του συστήματος. 
Επίσης, μπορούν να δουν το προφίλ του χρήστη που έχει καταχωρήσει την αγγελία και να επικοινωνήσουν μέσω της φόρμας επικοινωνίας με τους developers του site. 
Οι εγγεγραμμένοι χρήστες μπορούν να κάνουν ό,τι και οι επισκέπτες (αφου έχουν τα ίδια και περισσότερα δικαιώματα από τους επισκέπτες) και επιπλέον μπορούν να καταχωρήσουν αγγελίες στις οποίες έχουν πλήρη διαχείριση.
 Φυσικά, οι εγγεγραμμένοι χρήστες όπως φανερώνει και το ονομά τους πρέπει να εγγραφούν πρώτα στο σύστημα. Αφού εγγραφούν έχουν πλήρη διαχείριση του λογαριασμού τους. 
 Τέλος, οι διαχειριστές έχουν πλήρη διαχείριση των χρηστών και των αγγελιών ταυτόχρονα.
Η υλοποίηση ξεκίνησε από την δημιουργία της βάσης δεδομένων αφού σε τέτοιου είδους site αυτό είναι το πιο σημαντικό. 
Στη βάση υπάρχουν οι εξής οντότητες: ο χρήστης, το σπίτι, η κατηγορία, η φωτογραφία και η παροχή. Στην οντότητα χρήστες αποθηκεύονται όλοι οι χρήστες. 
Ο κάθε χρήστης έχει τα γνωρίσματα: username, password, τηλέφωνο(πλειότιμο), e-mail, όνομα, επίθετο και τύπος χρήστη που καθορίζει αν ο χρήστης θα είναι απλός χρήστης ή διαχειριστής. 
Το κάθε σπίτι έχει τα εξής γνωρίσματα: όροφος, περιοχή, τιμή, έτος κατασκευής, εμβαδό, διεύθυνση, επισκέψεις(καταχωρείται πόσες φορές έχει εμφανιστεί η αγγελία), σχόλια, 
έγκριση(αποθηκεύει αν η αγγελία έχει εγκριθεί από  τους διαχειριστές ή όχι), γεωγρ. μήκος και γεωγρ.πλάτος. Το κάθε σπίτι συνδέεται με έναν χρήστη ο οποίος το προσφέρει για ενοικίαση ή για πώληση. 
Επίσης, κάθε σπίτι συνδέεται με μία κατηγορία στην οποία ανήκει ενώ συνδέεται με μία ή περισσότερες παροχές.Τέλος το κάθε σπίτι μπορεί να έχει μία ή περισσότερες φωτογραφίες(ανεβασμένες από 
τον χρήστη έχει το σπίτι για προσφορά).Παράλληλα ο κάθε χρήστης μπορεί να έχει στις αγαπημένες του αγγελίες ένα ή περισσότερα σπίτια.