/UOI-StudyNotes

A notes archive app for UOI students.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

UOI-StudyNotes

A notes archive app for UOI students.
Written in Python/Django

Run Tests

Overview

Greek Edition

Το UOI-StudyNotes είναι μια web εφαρμογή αρχειοθέτησης σημειώσεων για φοιτητές του Πανεπιστημίου Ιωαννίνων, ώστε να μοιράζονται, να έχουν πρόσβαση και να συνεργάζονται σε ακαδημαϊκές σημειώσεις διαφόρων μαθημάτων.

English Edition

UOI-StudyNotes is a notes archive app for UOI students to share, access, and collaborate on academic notes across various subjects.

Django Models

Here is a graphical representation of the Django models used in this project:

Django Models Graph

Setup for Local Development

Set up Virtual Environment

cd path/to/root/directory
$ python3 -m venv env/
$ source env/bin/activate

Install Dependencies

$ pip3 install -r requirements.txt

Create Enviroment Variable file

$ touch main/.env
$ nano main/.env

Add the following environment variables (modify as needed):

➜ SECRET_KEY="example_secret_key"  # https://stackoverflow.com/a/57678930
➜ DEBUG=True  # For development

Save changes and close the file.

Note: If you prefer, you can run the application using Docker by running:

$ docker compose up

Migrate Database

$ python3 manage.py migrate

Run Django Server

$ python3 manage.py runserver

Now you can access the website at http://127.0.0.1:8000/ or http://localhost:8000/.

Run Tests

cd path/to/root/directory
$ python3 manage.py test notes.tests users.tests

Contributing Guidelines for UOI-StudyNotes

Greek Edition

Pull Requests

Όταν υποβάλετε ένα pull request, θυμηθείτε τα εξής:

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

  • Διατηρήστε το απλό: Προτιμήστε να κρατάτε τις αλλαγές σας απλές και στοχευμένες. Οι πιο σύνθετες αλλαγές είναι δυσκολότερο να ελεγχθούν και να ενσωματωθούν.

  • Αποφύγετε την προσθήκη νέων βιβλιοθηκών: Αν γίνεται, προσπαθήστε να μην προσθέσετε νέες βιβλιοθήκες που δεν είναι τυπικές. Εάν αυτό είναι αποχρεωτικό, παρακαλώ δημιουργήστε πρώτα ένα github issue για να αξιολογηθεί η χρησιμότητα και η συμβατότητά του.

  • Σιγουρευτείτε ότι λειτουργεί: Πριν υποβάλετε ένα pull request, βεβαιωθείτε ότι ο κώδικάς σας εκτελείται χωρίς σφάλματα και ότι ακολουθεί τα πρότυπα κωδικοποίησης του έργου.

  • Εκτελέστε τις δοκιμές: Βεβαιωθείτε ότι όλες οι υπάρχουσες δοκιμές ολοκληρώνονται επιτυχώς και προσθέστε νέες αν χρειαστεί. Τα pull requests σας δεν θα εγκριθούν αν δεν περάσουν όλες οι δοκιμές.

Αναφορά Σφαλμάτων και Pull Requests

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

  • Αναφορά σφαλμάτων: Υποβάλετε τις αναφορές σας στην GitHub Issues σελίδα.
  • Pull Requests: Ανοίξτε ένα pull request στην GitHub Pull Requests σελίδα.

Πριν συμβάλετε, ρίξτε μια ματιά στην άδεια για να κατανοήσετε τους όρους και τις προϋποθέσεις που διέπουν στη χρήση του UOI-StudyNotes.

Ευχαριστούμε για το ενδιαφέρον σας στο να βελτιώνετε το UOI-StudyNotes!

English Edition

Pull Requests

When submitting a pull request, please keep these points in mind:

  • TODO List: Check the TODO List to ensure there isn’t already an open task you’d like to work on.

  • Simplicity: Keep your changes straightforward and focused. Complex changes are harder to review and integrate.

  • Avoid Non-Standard Libraries: Whenever possible, refrain from adding new non-standard libraries. If your idea necessitates one, kindly discuss it first by opening an issue. This helps in evaluating the necessity and compatibility of the library.

  • Ensure It Runs: Before submitting a pull request, ensure that your code runs without errors and adheres to the project's coding standards.

  • Pass All Tests: Make sure all existing tests pass and add new tests as necessary. Pull requests will not be merged unless all tests pass successfully.

Filing Bug Reports and Submitting Pull Requests

If you encounter a bug, please follow these steps to report it:

Before contributing, please review the License to understand the terms and conditions governing the use and distribution of UOI-StudyNotes.

Thank you for your interest in improving UOI-StudyNotes!