Αυτή η τριών επιπέδων εμπορική εφαρμογή αναπτύχθηκε στο πλαίσιο του μαθήματος Ειδικά Θέματα Τεχνολογίας Λογισμικού του Τμήματος Μηχανικών Πληροφορικής και Υπολογιστών του Πανεπιστημίου Δυτικής Αττικής. Η εφαρμογή επιδεικνύει βασικές λειτουργίες 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.
- Framework: SvelteKit ✔️
- Styling: Tailwind CSS ✔️
- Άλλες επιλογές: Server-side ή Single Page Application (SPA) με React, Vue.js, ή Angular.
- Ανάπτυξη με χρήση αντικειμενοστραφούς γλώσσας προγραμματισμού.
- Χρήση Dependency Injection για τη διαχείριση εξαρτήσεων.
- ORM για την επικοινωνία με τη βάση δεδομένων (π.χ. Hibernate, Entity Framework).
Επιλογή σχεσιακής βάσης δεδομένων, όπως:
Για να τρέξετε την εφαρμογή, θα χρειαστείτε:
- JDK 11+ (για το back-end)
- Node.js για το SvelteKit front-end
- Εγκατεστημένη σχεσιακή βάση δεδομένων (π.χ. MySQL ✔️)
- Trello ✔️ για τη διαχείριση έργου
- Κλώνος του αποθετηρίου:
gh repo clone uniwa-software/Special_Topics_in_Software_Engineering
- Εγκατάσταση εξαρτήσεων:
- Για το front-end:
cd frontend npm install - Για το back-end:
cd backend ./gradlew build
- Για το front-end:
- Διαμόρφωση της βάσης δεδομένων:
- Εκτελέστε το σχήμα SQL που βρίσκεται στο
database/schema.sqlγια να διαμορφώσετε τη βάση δεδομένων.
- Εκτελέστε το σχήμα SQL που βρίσκεται στο
- Εκκίνηση του server:
- Για το front-end (SvelteKit):
npm run dev
- Για το back-end:
./gradlew bootRun
- Για το front-end (SvelteKit):
├── 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 για περισσότερες πληροφορίες.
Μπορείτε να συνδεθείτε με τους συνεισφέροντες του έργου στο LinkedIn:
- Νίκος Θωμάς: LinkedIn Profile
- Φίλιππος Παπαγεωργίου: LinkedIn Profile