Skip to content

V-Serghei/OrgaFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English version

OrgaFlow

Prerequisites

Tool Version
.NET SDK 10.0+
Node.js 18.0+
Docker Desktop latest
EF Core CLI dotnet tool install -g dotnet-ef

Quick start — automated script

Клонируй репо и запусти один скрипт. Он сам:

  • проверит все зависимости
  • сгенерирует пароли и JWT-секреты
  • создаст все конфиги
  • поднимет PostgreSQL в Docker
  • применит миграции
  • запустит все сервисы и фронтенд
# Git Bash / WSL
bash setup-local.sh

Остановить всё:

bash stop-local.sh

Логи сервисов → .runtime/*.log

Скрипт сохраняет сгенерированные секреты в .secrets.local (в .gitignore). При повторном запуске использует те же секреты — база не пересоздаётся.


Manual setup (step by step)

1. Create config files

Файлы appsettings.Development.json не хранятся в репозитории — создай вручную:

OrgaFlow.API/appsettings.Development.json

{
  "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DbConnectionString": "Host=localhost;Port=5433;Username=postgres;Password=secret;Database=OrgaFlowDb"
  }
}

auth-service/appsettings.Development.json

{
  "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DbConnectionString": "Host=localhost;Port=5433;Username=postgres;Password=secret;Database=OrgaFlowDb"
  },
  "Jwt": {
    "Secret": "your-secret-at-least-32-characters-long",
    "Issuer": "OrgaFlow",
    "Audience": "OrgaFlowClient"
  }
}

task-service/appsettings.Development.json

{
  "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DbConnectionString": "Host=localhost;Port=5433;Username=postgres;Password=secret;Database=OrgaFlowDb"
  }
}

2. Start PostgreSQL

docker run -d \
  --name orgaflow_postgres \
  -p 5433:5432 \
  -e POSTGRES_DB=OrgaFlowDb \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=secret \
  -v orgaflow_postgres_data:/var/lib/postgresql/data \
  --restart unless-stopped \
  postgres:15

3. Restore and build

dotnet restore
dotnet build

4. Run migrations

dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context AuthDbContext --no-build
dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context AppDbContext --no-build
dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context TaskDbContext --no-build

5. Start backend services

dotnet run --project auth-service   --no-build --environment Development &
dotnet run --project task-service   --no-build --environment Development &
dotnet run --project email-services --no-build --environment Development &
dotnet run --project OrgaFlow.API   --no-build --environment Development &

6. Start frontend

cd OrgaFlow.UI/orga-flow-ui
npm install   # first time only
npm run dev

Service URLs

Service URL
Frontend http://localhost:3000
Main API (Swagger) http://localhost:5023/swagger
Auth Service http://localhost:5095/swagger
Task Service http://localhost:5130/swagger
Email Service http://localhost:5165/swagger
PostgreSQL localhost:5433

Docker (full containerized)

docker-compose up -d

First run — apply migrations after containers are up:

dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context AuthDbContext
dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context AppDbContext
dotnet ef database update -s ./OrgaFlow.API -p ./OrgaFlow.Persistence --context TaskDbContext

About

A modern, cross-platform workspace for project management, task tracking, and team collaboration.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors