English | Ελληνικά
Το UniNotes είναι μια διαδικτυακή πλατφόρμα διαμοιρασμού και διαχείρισης σημειώσεων για φοιτητές. Επιτρέπει στους χρήστες να ανεβάζουν, να αναζητούν και να μοιράζονται ακαδημαϊκές σημειώσεις οργανωμένες ανά εξάμηνο και μάθημα.
- .NET 9.0
- Blazor
- MongoDB
- HTML/CSS/JavaScript
- .NET 9.0 SDK
- MongoDB (τοπικά ή σε cloud service)
-
Κλωνοποιήστε το αποθετήριο
git clone https://github.com/yourusername/UniNotes.git cd UniNotes -
Ρύθμιση MongoDB
- Δημιουργήστε ένα λογαριασμό στο MongoDB Atlas ή εγκαταστήστε τοπικά το MongoDB
- Δημιουργήστε μια νέα βάση δεδομένων για το UniNotes
-
Ρύθμιση 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, είναι απαραίτητο να το δημιουργήσετε χειροκίνητα. Το αρχείο αυτό δεν περιλαμβάνεται στο αποθετήριο για λόγους ασφαλείας.
- Δημιουργήστε ένα αρχείο
-
Εγκατάσταση Εξαρτήσεων και Εκτέλεση
dotnet restore dotnet run
-
Πρόσβαση στην Εφαρμογή
- Ανοίξτε τον περιηγητή σας και πλοηγηθείτε στη διεύθυνση
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
- Αξιολόγηση σημειώσεων (μελλοντική λειτουργία)
- Αναφορά προβληματικών σημειώσεων (μελλοντική λειτουργία)
- Αποθήκευση αγαπημένων σημειώσεων (μελλοντική λειτουργία)
- 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.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.1) Να κάνουν check notes
- 3.3) Check courses
- 3.4) Update courses
- 4.1) Υλοποίηση λειτουργιών γραμματείας
- 4.2) Διαχείριση χρηστών και δικαιωμάτων
Το UniNotes αναπτύσσεται με σκοπό να προσφέρει μια ολοκληρωμένη λύση για τους φοιτητές ώστε να μοιράζονται και να έχουν πρόσβαση σε ποιοτικές σημειώσεις. Οι κύριες προκλήσεις ανάπτυξης περιλαμβάνουν:
- Εξασφάλιση της ασφάλειας των δεδομένων και των δικαιωμάτων πνευματικής ιδιοκτησίας
- Βελτιστοποίηση του χρόνου φόρτωσης για μεγάλα αρχεία
- Υλοποίηση ενός φιλικού προς το χρήστη interface
- Αποτελεσματική διαχείριση της βάσης δεδομένων MongoDB
- Υλοποίηση των διαφορετικών επιπέδων πρόσβασης και δικαιωμάτων
Εάν επιθυμείτε να συνεισφέρετε στο έργο, ακολουθήστε τα παρακάτω βήματα:
- Κάντε fork το αποθετήριο
- Δημιουργήστε ένα νέο branch για τη λειτουργία (
git checkout -b feature/amazing-feature) - Ρυθμίστε το περιβάλλον ανάπτυξης σύμφωνα με τις οδηγίες εγκατάστασης παραπάνω
- Κάντε commit τις αλλαγές σας (
git commit -m 'Προσθήκη νέας λειτουργίας') - Κάντε push στο branch (
git push origin feature/amazing-feature) - Ανοίξτε ένα Pull Request
Δημιουργήθηκε με ❤️ από φοιτητές για φοιτητές
