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.
- 1. Förutsättningar
- 2. Klona repot
- 3. Starta databasen
- 4. Starta backend
- 5. Starta frontend
- 6. Deploya ändringar
- Test info
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 serveDä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 | Password | |
|---|---|---|
| admin | admin@mistral.com | ADMIN |
Se till att du har följande installerat innan du går vidare.
Kontrollera om du redan har rätt version (ni borde redan ha det installerat från IOOPM):
java -version# 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 mavenVerifiera installationen:
mvn -version# MacOS
brew install node
# Linux
sudo apt install node
# Windows
choco install nodenpm install -g @angular/cliLadda ner och installera från docker.com. Se till att Docker Desktop är igång innan du startar projektet.
git clone https://github.com/dvuvud/mistral.git
cd mistralPostgreSQL 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 |
docker compose stopStoppar containrarna men bevarar datan. Kör docker compose up -d igen för att starta dem.
docker compose downStoppar och tar bort containrarna. Datan bevaras ändå eftersom den lagras i pgdata/ lokalt på din dator.
Gå in i backend/-mappen och starta Spring Boot:
cd backend
mvn spring-boot:runFö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.
Kontrollera att Docker-containrarna är igång:
docker compose psOch 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Öppna en ny terminal, gå in i frontend/-mappen och kör:
cd frontend
ng serveFrontend körs på http://localhost:4200 och uppdateras automatiskt när du sparar filer.
Gör följande för att deploya nya ändringar i frontenden.
# Navigera till frontenden mappen
cd frontend
# Deploya
ng deployFilerna kommer pushas till gh-pages-branchen och hostas på https://dvuvud.github.io/mistral/app
Lite information gällande testning i projektet.
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 testMen urval kan väljas genom t.ex:
./mvnw test -Dtest=ChildTestsCoverage genereras genom:
./mvnw test jacoco:reportTill en html fil som hittas här:
backend/target/site/jacoco/index.html