Skip to content

Latest commit

 

History

History
167 lines (129 loc) · 8.86 KB

File metadata and controls

167 lines (129 loc) · 8.86 KB

English | Ελληνικά


UniNotes Logo

Περιγραφή Έργου

Το UniNotes είναι μια διαδικτυακή πλατφόρμα διαμοιρασμού και διαχείρισης σημειώσεων για φοιτητές. Επιτρέπει στους χρήστες να ανεβάζουν, να αναζητούν και να μοιράζονται ακαδημαϊκές σημειώσεις οργανωμένες ανά εξάμηνο και μάθημα.

Τεχνολογίες

  • .NET 9.0
  • Blazor
  • MongoDB
  • HTML/CSS/JavaScript

Οδηγίες Εγκατάστασης και Εκτέλεσης

Προαπαιτούμενα

  • .NET 9.0 SDK
  • MongoDB (τοπικά ή σε cloud service)

Βήματα Εγκατάστασης

  1. Κλωνοποιήστε το αποθετήριο

    git clone https://github.com/yourusername/UniNotes.git
    cd UniNotes
  2. Ρύθμιση MongoDB

    • Δημιουργήστε ένα λογαριασμό στο MongoDB Atlas ή εγκαταστήστε τοπικά το MongoDB
    • Δημιουργήστε μια νέα βάση δεδομένων για το UniNotes
  3. Ρύθμιση AppSettings

    • Δημιουργήστε ένα αρχείο appsettings.json ή μεταονομάστε το appsettings.template.json σε appsettings.json, στον κύριο φάκελο του project (UniNotes/)
    • Χρησιμοποιήστε το παρακάτω πρότυπο, αντικαθιστώντας το <CONNECTION_STRING> με το connection string της MongoDB βάσης σας και τα <WEBHOOK_URL> με τα URL απο τα Discord Webhooks:
     {
     "ConnectionStrings": {
         "MongoDb": "<CONNECTION_STRING>"
     },
     "Logging": {
         "LogLevel": {
         "Default": "Information",
         "Microsoft.AspNetCore": "Warning"
         }
     },
     "AllowedHosts": "*",
     "DiscordWebhook": {
         "ReportUrl": "<WEBHOOK_URL>",
         "SecretaryUrl": "<WEBHOOK_URL>"
         }
     }

    Σημείωση: Κάποιες εκδόσεις του Visual Studio δημιουργούν αυτόματα αυτό το αρχείο, αλλά για χρήστες εκτός Windows ή άλλων IDE, είναι απαραίτητο να το δημιουργήσετε χειροκίνητα. Το αρχείο αυτό δεν περιλαμβάνεται στο αποθετήριο για λόγους ασφαλείας.

  4. Εγκατάσταση Εξαρτήσεων και Εκτέλεση

    dotnet restore
    dotnet run
  5. Πρόσβαση στην Εφαρμογή

    • Ανοίξτε τον περιηγητή σας και πλοηγηθείτε στη διεύθυνση http://localhost:5073 ή https://localhost:7073

Δομή Εφαρμογής και Σελίδες

Κύριες Σελίδες

  • Login.razor: Σελίδα σύνδεσης χρηστών
  • Register.razor: Σελίδα εγγραφής νέων χρηστών
  • Dashboard.razor: Κεντρική σελίδα χρήστη μετά τη σύνδεση
  • Notes.razor: Προβολή και αναζήτηση σημειώσεων από όλους τους χρήστες
  • MyNotes.razor: Διαχείριση προσωπικών σημειώσεων του χρήστη
  • Upload.razor: Σελίδα ανεβάσματος νέων σημειώσεων
  • Settings.razor: Ρυθμίσεις προφίλ χρήστη
  • Credits.razor: Πληροφορίες σχετικά με τους δημιουργούς

Λειτουργικότητα

Διαχείριση Χρηστών

  • Εγγραφή και σύνδεση χρηστών
  • Διαχείριση προφίλ και ρυθμίσεων χρήστη
  • Διαφορετικά επίπεδα πρόσβασης (απλοί χρήστες, moderators, γραμματεία)

Διαχείριση Σημειώσεων

  • Ανέβασμα σημειώσεων σε διάφορες μορφές (PDF, Word, εικόνες)
  • Κατηγοριοποίηση ανά εξάμηνο και μάθημα
  • Αναζήτηση και φιλτράρισμα σημειώσεων
  • Προβολή σημειώσεων με ενσωματωμένο viewer

Επικοινωνία Χρηστών

  • Αξιολόγηση σημειώσεων (μελλοντική λειτουργία)
  • Αναφορά προβληματικών σημειώσεων (μελλοντική λειτουργία)
  • Αποθήκευση αγαπημένων σημειώσεων (μελλοντική λειτουργία)

Λίστα Εκκρεμών Εργασιών (Todo List)

1) QOL και απαραίτητα updates:

  • 1.1) Άμα πας στο /dashboard και κάνεις refresh, να μένεις logged in (όποια σελίδα και να πας, άμα κάνεις refresh να σε πετάει στο dashboard ή landing)
  • 1.2) Να αλλάξουμε τον τρόπο αλλαγής από page σε page
  • 1.3) Σε κάθε page να υπάρχει επιλογή να πας σε όλα τα άλλα
  • 1.4) Back function σε register και login
  • 1.5) Να μεταφράσουμε όλο το site στα ελληνικά
  • 1.6) Να φτιάξουμε ένα README.MD
  • 1.7) Nα κανουμε να δουλευει το view file σε κάθε note
  • 1.8) Να κανουμε scrollable το "Φορουμ Σημειώσεων" για mobile devices

2) User functions που απομένουν:

  • 2.1) Να βάλουμε ratings στα notes
  • 2.2) Να βάλουμε report bug function
  • 2.3) Να βάλουμε report note function
  • 2.4) Να βάλουμε favorites για τα notes
  • 2.5) Να βάλουμε view profile για κάθε user και average rating από τα notes του
  • 2.6) Να βάλουμε tags στα notes
  • 2.7) Να βαλουμε download function για τα notes

3) Να φτιάξουμε moderators που να έχουν τα βασικά features των users και:

  • 3.1) Να κάνουν check notes
  • 3.3) Check courses
  • 3.4) Update courses

4) Να βάλουμε τη γραμματεία

  • 4.1) Υλοποίηση λειτουργιών γραμματείας
  • 4.2) Διαχείριση χρηστών και δικαιωμάτων

Πρόκληση Ανάπτυξης

Το UniNotes αναπτύσσεται με σκοπό να προσφέρει μια ολοκληρωμένη λύση για τους φοιτητές ώστε να μοιράζονται και να έχουν πρόσβαση σε ποιοτικές σημειώσεις. Οι κύριες προκλήσεις ανάπτυξης περιλαμβάνουν:

  1. Εξασφάλιση της ασφάλειας των δεδομένων και των δικαιωμάτων πνευματικής ιδιοκτησίας
  2. Βελτιστοποίηση του χρόνου φόρτωσης για μεγάλα αρχεία
  3. Υλοποίηση ενός φιλικού προς το χρήστη interface
  4. Αποτελεσματική διαχείριση της βάσης δεδομένων MongoDB
  5. Υλοποίηση των διαφορετικών επιπέδων πρόσβασης και δικαιωμάτων

Στιγμιότυπα

image image2 image3 image4

Συνεισφορά

Εάν επιθυμείτε να συνεισφέρετε στο έργο, ακολουθήστε τα παρακάτω βήματα:

  1. Κάντε fork το αποθετήριο
  2. Δημιουργήστε ένα νέο branch για τη λειτουργία (git checkout -b feature/amazing-feature)
  3. Ρυθμίστε το περιβάλλον ανάπτυξης σύμφωνα με τις οδηγίες εγκατάστασης παραπάνω
  4. Κάντε commit τις αλλαγές σας (git commit -m 'Προσθήκη νέας λειτουργίας')
  5. Κάντε push στο branch (git push origin feature/amazing-feature)
  6. Ανοίξτε ένα Pull Request

Επικοινωνία


Δημιουργήθηκε με ❤️ από φοιτητές για φοιτητές