Skip to content

uniwa-software/Special_Topics_in_Software_Engineering

Repository files navigation

Special Topics in Software Engineering

📝 Επισκόπηση Έργου

Αυτή η τριών επιπέδων εμπορική εφαρμογή αναπτύχθηκε στο πλαίσιο του μαθήματος Ειδικά Θέματα Τεχνολογίας Λογισμικού του Τμήματος Μηχανικών Πληροφορικής και Υπολογιστών του Πανεπιστημίου Δυτικής Αττικής. Η εφαρμογή επιδεικνύει βασικές λειτουργίες CRUD (Create, Read, Update, Delete) και ακολουθεί σύγχρονες αρχές ανάπτυξης λογισμικού, με έμφαση σε καθαρή αρχιτεκτονική, RESTful υπηρεσίες και ενσωμάτωση ORM.

🚀 Χαρακτηριστικά

  • Αρχιτεκτονική Τριών Επιπέδων: Front-end, Business Logic και Βάση Δεδομένων.
  • RESTful API: Επικοινωνία μεταξύ front-end και back-end.
  • Role-based Access Control (RBAC): Έλεγχος πρόσβασης με βάση ρόλους χρηστών.
  • ORM: Χρήση για αλληλεπίδραση με τη βάση δεδομένων.
  • Διαχείριση Sprints: Χρήση του Trello ✔️ για agile ανάπτυξη.
  • Automated Integration Tests: Βασικά αυτοματοποιημένα integration tests για έλεγχο λειτουργικότητας.
  • Responsive Design: Με τη χρήση του Tailwind CSS ✔️ για ένα σύγχρονο και ευέλικτο UI.
  • Front-end με SvelteKit ✔️: Γρήγορη και αποδοτική ανάπτυξη του front-end με SvelteKit.

🛠️ Τεχνολογίες

Front-end:

Back-end:

  • Ανάπτυξη με χρήση αντικειμενοστραφούς γλώσσας προγραμματισμού.
  • Χρήση Dependency Injection για τη διαχείριση εξαρτήσεων.
  • ORM για την επικοινωνία με τη βάση δεδομένων (π.χ. Hibernate, Entity Framework).

Βάση Δεδομένων:

Επιλογή σχεσιακής βάσης δεδομένων, όπως:

🔧 Απαιτήσεις

Για να τρέξετε την εφαρμογή, θα χρειαστείτε:

  • JDK 11+ (για το back-end)
  • Node.js για το SvelteKit front-end
  • Εγκατεστημένη σχεσιακή βάση δεδομένων (π.χ. MySQL ✔️)
  • Trello ✔️ για τη διαχείριση έργου

🚀 Οδηγίες Εγκατάστασης

  1. Κλώνος του αποθετηρίου:
    gh repo clone uniwa-software/Special_Topics_in_Software_Engineering
  2. Εγκατάσταση εξαρτήσεων:
    • Για το front-end:
      cd frontend
      npm install
    • Για το back-end:
      cd backend
      ./gradlew build
  3. Διαμόρφωση της βάσης δεδομένων:
    • Εκτελέστε το σχήμα SQL που βρίσκεται στο database/schema.sql για να διαμορφώσετε τη βάση δεδομένων.
  4. Εκκίνηση του server:
    • Για το front-end (SvelteKit):
      npm run dev
    • Για το back-end:
      ./gradlew bootRun

📂 Δομή του Έργου

├── backend/     # Κώδικας για το backend (Express.js ή άλλο backend)
│ ├── app.js     # Το βασικό αρχείο για το Express server
│ ├── package.json     # Εξαρτήσεις και σενάρια για το backend
│ └── (Άλλα αρχεία backend)
├── frontend/     # SvelteKit εφαρμογή (frontend)
│ ├── src/     # Πηγαίος κώδικας για το SvelteKit
│ ├── public/     # Στατικά αρχεία για το frontend
│ ├── app.css     # Tailwind CSS για το στυλ του frontend
│ ├── package.json     # Εξαρτήσεις για το SvelteKit
│ └── (Άλλα αρχεία frontend)
├── database/     # Αρχεία για τη βάση δεδομένων
│ └── schema.sql     # Σχήμα SQL για τη βάση δεδομένων MySQL
├── postcss.config.cjs     # Ρυθμίσεις για το PostCSS 
├── tailwind.config.js     # Ρυθμίσεις για το Tailwind CSS
 └── package.json     # Εξαρτήσεις για το frontend

🛠️ Εργαλεία Ανάπτυξης

  • Git για έλεγχο εκδόσεων
  • GitHub ✔️ για αποθήκευση κώδικα
  • Trello ✔️ για διαχείριση sprints και εργασιών

📝 Άδεια Χρήσης

Αυτό το έργο διατίθεται υπό τους όρους της άδειας MIT. Ανατρέξτε στο αρχείο LICENSE για περισσότερες πληροφορίες.

📱 Connect with Us

Μπορείτε να συνδεθείτε με τους συνεισφέροντες του έργου στο LinkedIn:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •