Questo è il backend per l'applicazione EDU-hub, costruito utilizzando Java con il framework Javalin e un ulteriore backend in Node.js.
- Java: Versione 8 o superiore
- Maven: Per la gestione delle dipendenze Java
- Node.js: Per il backend nella cartella
backend - PostgreSQL: Per il database
Clona il repository e spostati nelle cartelle necessarie:
git clone https://github.com/tuo-username/EDU-hubBackend.git
cd EDU-hubBackendAssicurati che PostgreSQL sia installato e in esecuzione. Segui questi passi per configurare il database:
- Apri un client PostgreSQL (ad esempio il CLI
psqlo un'interfaccia grafica come pgAdmin). - Esegui i seguenti comandi SQL per creare il database:
CREATE DATABASE learning_platforms;
CREATE DATABASE learning_materials;eseguite gli sql learning_platform.sql e learning_materials.sql nei rispettivi db;
Spostati nella cartella backend ed esegui i seguenti comandi:
cd backend
npm installSpostati nella cartella del server Java ed esegui i seguenti comandi:
cd middleware/MiddlewareServer
mvn clean install- Torna alla cartella
util/database. - cambia le credenziali per gestire il tuo collegamento a postgre
mvn exec:java -Dexec.mainClass="com.prosperi.argeo.Main"Il server partirà sulla porta 8082.
- Torna alla cartella
backend. - Crea un file
.envcopiando.env.prototype:
cp .env.prototype .env- Modifica il file
.envper assicurarti che i dettagli del database corrispondano. - Avvia il server Node.js:
npm run devIl server Node.js sarà disponibile sulla porta configurata (default: 3000).
admin@example.compassword:securepasswordteacher@example.compassword:teacher123student@example.compassword:student123
se volete registrare altri utenti andare sulla rotta /auth/register
- AuthController: Gestisce l'autenticazione.
- UserController: Gestisce gli utenti.
- CourseController: Gestisce i corsi.
- SubjectController: Gestisce le materie.
- LessonController: Gestisce le lezioni.
- EnrollmentController: Gestisce le iscrizioni.
- TeachingController: Gestisce le assegnazioni didattiche.
- AttendanceController: Gestisce la presenza.
- QuizController: Gestisce i quiz.
- QuestionController: Gestisce le domande.
- AnswerController: Gestisce le risposte.
- QuizResultController: Gestisce i risultati dei quiz.
- StudentAnswerController: Gestisce le risposte degli studenti.
- NotificationController: Gestisce le notifiche.
- FileController: Gestisce il caricamento e la gestione dei file.
backend/: Contiene il backend Node.js.middleware/: Contiene il backend/middelware Java.
- crea 2 database chiamati
learning_platformse learning_materials
database/learning_platforms.sql: Script SQL per la per salvare e gestire gli utenti quiz corsi ed altro.database/learning_materials.sql: Script SQL per salvare i materiali didattici.
Questo progetto è rilasciato sotto la licenza MIT.