Skip to content

dvuvud/mistral

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

501 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kindguard-logo

Mistral – Utvecklarguide

Det här dokumentet går igenom allt du behöver göra för att sätta upp din utvecklingsmiljö och komma igång med projektet.


Innehållsförteckning


Snabbstart (TLDR :O)

Om du redan har allt installerat, så är det här är allt du behöver köra:

# Klona repot
git clone https://github.com/dvuvud/mistral.git
cd mistral

# Starta databasen
docker compose up -d

# Starta backend (i ett terminalfönster)
cd backend
mvn spring-boot:run

# Starta frontend (i ett annat terminalfönster)
cd frontend
ng serve

Därefter är följande tillgängligt:

Tjänst URL
Frontend http://localhost:4200
Backend http://localhost:8080
pgAdmin http://localhost:5050

Ytterligare finns det även ett admin konto inlaggd i databasen med följande uppgifter:

Namn  Email  Password
admin  admin@mistral.com   ADMIN

1. Förutsättningar

Se till att du har följande installerat innan du går vidare.

Java 25+

Kontrollera om du redan har rätt version (ni borde redan ha det installerat från IOOPM):

java -version

Maven

# För MacOS (om du har brew (du borde ha brew))
brew install maven

# För Linux
sudo apt install maven

# För windows (om du har chocolatey (du borde verkligen ha chocolatey))
choco install maven

Verifiera installationen:

mvn -version

Node.js och npm

# MacOS
brew install node

# Linux
sudo apt install node

# Windows
choco install node

Angular CLI

npm install -g @angular/cli

Docker Desktop

Ladda ner och installera från docker.com. Se till att Docker Desktop är igång innan du startar projektet.


2. Klona repot

git clone https://github.com/dvuvud/mistral.git
cd mistral

3. Starta databasen

PostgreSQL databasen och pgAdmin körs i Docker-containrar, så ni behöver alltså inte installera varken pgAdmin eller PostgreSQL själva. Starta dem från rooten av projektet:

docker compose up -d

-d innebär att containrarna körs i bakgrunden så att du får tillbaka terminalen.

Du kan nu nå pgAdmin i webbläsaren på http://localhost:5050 och logga in med:

Fält Värde
E-post admin@mistral.se
Lösenord secret

Stoppa containrarna

docker compose stop

Stoppar containrarna men bevarar datan. Kör docker compose up -d igen för att starta dem.

docker compose down

Stoppar och tar bort containrarna. Datan bevaras ändå eftersom den lagras i pgdata/ lokalt på din dator.


4. Starta backend

Gå in i backend/-mappen och starta Spring Boot:

cd backend
mvn spring-boot:run

Första gången kan det ta ett par minuter eftersom Maven laddar ner alla dependencies på din dator. Efterföljande starter går betydligt snabbare.

När du ser följande i terminalen är backend igång:

Started BackendApplication in X seconds

Backend körs på http://localhost:8080.

Note

Se till att Docker-containrarna körs innan du startar backend, annars kan den inte ansluta till databasen.

Om det inte fungerar

Kontrollera att Docker-containrarna är igång:

docker compose ps

Och att dina application.properties ser ut så här (backend/src/main/resources/application.properties):

spring.datasource.url=jdbc:postgresql://localhost:5432/mistral
spring.datasource.username=admin
spring.datasource.password=secret
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

5. Starta frontend

Öppna en ny terminal, gå in i frontend/-mappen och kör:

cd frontend
ng serve

Frontend körs på http://localhost:4200 och uppdateras automatiskt när du sparar filer.


6. Deploya ändringar

Gör följande för att deploya nya ändringar i frontenden.

# Navigera till frontenden mappen
cd frontend

# Deploya
ng deploy

Filerna kommer pushas till gh-pages-branchen och hostas på https://dvuvud.github.io/mistral/app

Test info

Lite information gällande testning i projektet.

Backend

Backend-testerna sker genom Springboots egna testramverk. Det finns en fil i test-mappen som heter TemplateTests som har ett exempel test och all boilerplate som behövs. Du kan också alltid referera till en annan gjord testfil för inspiration till hur ett test kan skrivas. Coverage genereras genom JaCoCo. Sträva efter 100% coverage för filer där de är relevant, kör gärna med coverage en gång och kolla läget innan du puchar så allt ser bra ut.

Alla tester körs genom:

./mvnw test

Men urval kan väljas genom t.ex:

./mvnw test -Dtest=ChildTests

Coverage genereras genom:

./mvnw test jacoco:report

Till en html fil som hittas här:

backend/target/site/jacoco/index.html

About

A web-based learning management system for schools to track attendance and manage logging with real-time collaboration.

Topics

Resources

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors