The application is designed to compare web frameworks.
Software engineers who want to play with web frameworks such as angular, react or vue, test components, try different architecture tricks, share their ideas and thoughts with other engineers, welcome to my sandbox!
- Run the following command
docker compose up
- To rebuild image run the following
docker build -t core/server .
- Create cluster in docker desktop, make sure that Nodes were created and status is "Ready"
kubectl get nodes
- Apply configuration to k8s
kubectl apply -f k8s/
or
kubectl apply -f k8s/core-database.yaml
kubectl apply -f k8s/core-server.yaml
kubectl apply -f k8s/core-ingress.yaml
- Make sure that pods have "Running" status
kubectl get pods
- To make web site available via friendly name install ingress (nginx)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/cloud/deploy.yaml
- Add the following line to hosts file (C:\Windows\System32\drivers\etc for windows)
127.0.0.1 core.by
- Check if it's available
https://core.by/angular/#/account/login
- If something goes wrong search for logs
kubectl logs deployment/core-server
kubectl logs core-server
kubectl describe pod core-server
- Make sure the port is not allocated by some other process, to check this run the following in powershell
Get-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess
- To get started you will need to install postgres sql server v10 or higher with default settings (port=5432, user=postgres password=password1) or create database using docker container (see the next step)
https://www.postgresql.org/download/
- Create database according to connection string specified in {basePath}/Core/Core.Server/appsettings.json using docker
docker run --rm --name postgres -e POSTGRES_PASSWORD=password1 -p 5432:5432 -e POSTGRES_DB=coredb -d clkao/postgres-plv8
- Apply migrations. Open Package Manager Console in Visual Studio/Command Prompt/Powershell/etc., make sure that basePath is correct
cd {basePath}/Core/
- Apply migrations
dotnet ef database update --context CoreDbContext --project ./Core.DAL/Core.DAL.csproj --startup-project ./Core.Server/Core.Server.csproj --verbose
- Install dependencies from {basePath}/Core/Core.React.UI/package.json
npm install
- Build UI for development or production environment
npm run build
npm run build:watch
npm run build:prod
- Install dependencies from {basePath}/Core/Core.Angular.UI/package.json
npm install
- Build UI for development or production environment
npm run build
npm run build:watch
npm run build:prod
- Install dependencies from {basePath}/Core/Core.Vue.UI/package.json
npm install
- Build UI for development or production environment
npm run build
npm run build:watch
npm run build:prod
-
Set {basePath}/Core/Core.Server as startup project
-
Run (F5). Check if server is available
- React UI
http://localhost:8080/react/#/login
https://localhost:8081/react/#/login
- Angular UI
http://localhost:8080/angular/#/account/login
https://localhost:8081/angular/#/account/login
- Vue UI
http://localhost:8080/vue/#/login
https://localhost:8081/vue/#/login
Use the following credentials to log in
username: nmatch
password: montenegro44
or
username: katatinak
password: montenegro44
- Core API is available here
http://localhost:8080/swagger/
https://localhost:8081/swagger/