Subtitle or Short Description Goes Here
Ideally one sentence
include terms/tags that can be searched
- For more on these wonderful badges, refer to shields.io.
If your
READMEhas a lot of info, section headers might be nice.
VictoryCenter-Back/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ ├── PULL_REQUEST_TEMPLATE/
│ └── workflows/
├── docs
├── VictoryCenter
│ ├── VictoryCenter.BLL
│ │ ├── Commands
│ │ │ ├── Admin
│ │ │ │ ├── Auth
│ │ │ │ │ ├── Login
│ │ │ │ │ ├── Logout
│ │ │ │ │ └── RefreshToken
│ │ │ │ ├── Donate
│ │ │ │ │ ├── CorrespondentBankDetails
│ │ │ │ │ │ ├── Create
│ │ │ │ │ │ ├── Delete
│ │ │ │ │ │ └── Update
│ │ │ │ │ ├── ForeignBankDetails
│ │ │ │ │ │ ├── Create
│ │ │ │ │ │ ├── Delete
│ │ │ │ │ │ └── Update
│ │ │ │ │ ├── SupportOptions
│ │ │ │ │ │ ├── Create
│ │ │ │ │ │ ├── Delete
│ │ │ │ │ │ └── Update
│ │ │ │ │ └── UahBankDetails
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ └── Update
│ │ │ │ ├── FaqQuestions
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ ├── Reorder
│ │ │ │ │ └── Update
│ │ │ │ ├── HippotherapyProgramCategories
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ └── Update
│ │ │ │ ├── HippotherapyPrograms
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ └── Update
│ │ │ │ ├── Images
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ └── Update
│ │ │ │ ├── TeamCategories
│ │ │ │ │ ├── Create
│ │ │ │ │ ├── Delete
│ │ │ │ │ └── Update
│ │ │ │ └── TeamMembers
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── Reorder
│ │ │ │ └── Update
│ │ │ └── Public
│ │ │ └── Payment
│ │ │ ├── Common
│ │ │ └── WayForPay
│ │ ├── Constants
│ │ ├── DTOs
│ │ │ ├── Admin
│ │ │ │ ├── Auth
│ │ │ │ ├── Common
│ │ │ │ ├── Donate
│ │ │ │ │ ├── CorrespondentBankDetails
│ │ │ │ │ ├── ForeignBankDetails
│ │ │ │ │ ├── SupportOptions
│ │ │ │ │ └── UahBankDetails
│ │ │ │ ├── FaqQuestions
│ │ │ │ ├── HippotherapyProgramCategories
│ │ │ │ ├── HippotherapyPrograms
│ │ │ │ ├── Images
│ │ │ │ ├── TeamCategories
│ │ │ │ ├── TeamMembers
│ │ │ │ └── VisitorPages
│ │ │ ├── Common
│ │ │ └── Public
│ │ │ ├── FaqQuestions
│ │ │ ├── HippotherapyPrograms
│ │ │ ├── Payment
│ │ │ │ ├── Common
│ │ │ │ └── WayForPay
│ │ │ └── TeamPage
│ │ ├── Exceptions
│ │ │ ├── BlobStorageExceptions
│ │ │ └── ReorderExceptions
│ │ ├── Helpers
│ │ ├── Interfaces
│ │ │ ├── BlobStorage
│ │ │ ├── PaymentService
│ │ │ ├── ReorderService
│ │ │ ├── Search
│ │ │ └── TokenService
│ │ ├── Mapping
│ │ │ ├── Donate
│ │ │ ├── FaqQuestions
│ │ │ ├── HippotherapyProgramCategories
│ │ │ ├── HippotherapyPrograms
│ │ │ ├── Images
│ │ │ ├── TeamCategories
│ │ │ ├── TeamMembers
│ │ │ └── VisitorPages
│ │ ├── Options
│ │ │ └── Payment
│ │ ├── Queries
│ │ │ ├── Admin
│ │ │ │ ├── Donate
│ │ │ │ │ ├── ForeignBankDetails
│ │ │ │ │ │ └── GetAll
│ │ │ │ │ ├── SupportOptions
│ │ │ │ │ │ └── GetAll
│ │ │ │ │ └── UahBankDetails
│ │ │ │ │ └── GetAll
│ │ │ │ ├── FaqQuestions
│ │ │ │ │ ├── GetByFilters
│ │ │ │ │ └── GetById
│ │ │ │ ├── HippotherapyProgramCategories
│ │ │ │ ├── HippotherapyPrograms
│ │ │ │ │ ├── GetByFilters
│ │ │ │ │ └── GetById
│ │ │ │ ├── Images
│ │ │ │ │ ├── GetById
│ │ │ │ │ └── GetByName
│ │ │ │ ├── TeamCategories
│ │ │ │ │ └── GetAll
│ │ │ │ ├── TeamMembers
│ │ │ │ │ ├── GetByFilters
│ │ │ │ │ ├── GetById
│ │ │ │ │ └── Search
│ │ │ │ └── VisitorPages
│ │ │ │ └── GetAll
│ │ │ └── Public
│ │ │ ├── FaqQuestions
│ │ │ │ └── GetPublished
│ │ │ ├── HippotherapyPrograms
│ │ │ │ └── GetPublished
│ │ │ └── TeamPage
│ │ │ └── GetPublished
│ │ ├── Services
│ │ │ ├── BlobStorage
│ │ │ ├── PaymentService
│ │ │ ├── ReorderService
│ │ │ ├── Search
│ │ │ │ └── Helpers
│ │ │ └── TokenService
│ │ └── Validators
│ │ ├── Auth
│ │ ├── Donate
│ │ │ ├── CorrespondentBankDetails
│ │ │ ├── ForeignBankDetails
│ │ │ ├── SupportOptions
│ │ │ └── UahBankDetails
│ │ ├── FaqQuestions
│ │ ├── HippotherapyProgramCategories
│ │ ├── HippotherapyPrograms
│ │ ├── Images
│ │ ├── Payment
│ │ ├── TeamCategories
│ │ └── TeamMembers
│ ├── VictoryCenter.DAL
│ │ ├── Data
│ │ │ ├── BaseEntity
│ │ │ └── EntityTypeConfigurations
│ │ ├── Entities
│ │ │ └── Interfaces
│ │ ├── Enums
│ │ ├── Migrations
│ │ └── Repositories
│ │ ├── Interfaces
│ │ │ ├── Base
│ │ │ ├── Donate
│ │ │ ├── FaqPlacements
│ │ │ ├── FaqQuestions
│ │ │ ├── HippotherapyProgramCategories
│ │ │ ├── HippotherapyPrograms
│ │ │ ├── Media
│ │ │ ├── TeamCategories
│ │ │ ├── TeamMembers
│ │ │ └── VisitorPages
│ │ ├── Options
│ │ └── Realizations
│ │ ├── Base
│ │ ├── Donate
│ │ ├── FaqPlacements
│ │ ├── FaqQuestions
│ │ ├── HippotherapyProgramCategories
│ │ ├── HippotherapyPrograms
│ │ ├── Media
│ │ ├── TeamCategories
│ │ ├── TeamMembers
│ │ └── VisitorPages
│ ├── VictoryCenter.DbUpdate
│ │ └── Helpers
│ ├── VictoryCenter.IntegrationTests
│ │ ├── ControllerTests
│ │ │ ├── Auth
│ │ │ ├── CorrespondentBankDetails
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ └── Update
│ │ │ ├── FaqQuestions
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetById
│ │ │ │ ├── GetFiltered
│ │ │ │ ├── GetPublished
│ │ │ │ ├── Reorder
│ │ │ │ └── Update
│ │ │ ├── ForeignBankDetails
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetAll
│ │ │ │ └── Update
│ │ │ ├── HippotherapyProgramCategories
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetAll
│ │ │ │ └── Update
│ │ │ ├── HippotherapyPrograms
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetById
│ │ │ │ ├── GetFiltered
│ │ │ │ ├── GetPublished
│ │ │ │ └── Update
│ │ │ ├── Images
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetById
│ │ │ │ ├── GetByName
│ │ │ │ └── Update
│ │ │ ├── Payments
│ │ │ ├── SupportOptions
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetAll
│ │ │ │ └── Update
│ │ │ ├── TeamCategories
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetAll
│ │ │ │ └── Update
│ │ │ ├── TeamMembers
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetById
│ │ │ │ ├── GetFiltered
│ │ │ │ ├── GetPublished
│ │ │ │ ├── Reorder
│ │ │ │ ├── Search
│ │ │ │ └── Update
│ │ │ ├── UahBankDetails
│ │ │ │ ├── Create
│ │ │ │ ├── Delete
│ │ │ │ ├── GetAll
│ │ │ │ └── Update
│ │ │ └── VisitorPages
│ │ │ └── GetAll
│ │ ├── MiddlewareTests
│ │ └── Utils
│ │ ├── DbFixture
│ │ └── Seeders
│ │ ├── CorrespondentBankDetails
│ │ ├── FaqQuestions
│ │ ├── ForeignBankDetails
│ │ ├── HippotherapyProgramCategoriesSeeder
│ │ ├── HippotherapyProgramSeeder
│ │ ├── Images
│ │ ├── SupportOptions
│ │ ├── TeamCategories
│ │ ├── TeamMembers
│ │ └── UahBankDetails
│ ├── VictoryCenter.UnitTests
│ │ ├── MediatRHandlersTests
│ │ │ ├── Auth
│ │ │ ├── Donate
│ │ │ │ ├── CorrespondentBankDetails
│ │ │ │ ├── ForeignBankDetails
│ │ │ │ ├── SupportOptions
│ │ │ │ └── UahBankDetails
│ │ │ ├── FaqQuestions
│ │ │ ├── HippotherapyProgramCategories
│ │ │ ├── HippotherapyPrograms
│ │ │ ├── Images
│ │ │ ├── Payment
│ │ │ ├── TeamCategories
│ │ │ ├── TeamMembers
│ │ │ └── VisitorPages
│ │ ├── MiddlewareTests
│ │ ├── ServiceTests
│ │ │ └── Payment
│ │ └── ValidatorsTests
│ │ ├── Auth
│ │ ├── Donate
│ │ ├── FaqQuestions
│ │ ├── HippotherapyProgramCategories
│ │ ├── HippotherapyPrograms
│ │ ├── Payment
│ │ ├── TeamCategories
│ │ └── TeamMembers
│ └── VictoryCenter.WebAPI
│ ├── Controllers
│ │ ├── Admin
│ │ ├── Common
│ │ └── Public
│ ├── Extensions
│ ├── Factories
│ ├── Middleware
│ ├── Properties
│ ├── Utils
│ │ └── Settings
│ └── wwwroot
│ └── Images
├── .gitignore
├── docker-compose.yml
└── README.md
- All the
coderequired to get started - Images of what it should look like
- MS Visual Studio (2022 or later) https://visualstudio.microsoft.com/ru/downloads
- .NET SDK (v 9.0) https://dotnet.microsoft.com/en-us/download/dotnet/9.0
environmental variables
DB_CONNECTION_STRING="<DB_CONNECTION_STRING>"
INITIAL_ADMIN_EMAIL="<INITIAL_ADMIN_EMAIL>"
INITIAL_ADMIN_PASSWORD="<INITIAL_ADMIN_PASSWORD>"
JWTOPTIONS_SECRETKEY="<JWT_ACCESS_SECRET>"
JWTOPTIONS_REFRESH_TOKEN_SECRETKEY="<JWT_REFRESH_SECRET>"
BLOB_LOCAL_STORE_KEY="<BLOB_LOCAL_STORE_KEY>"
WAY4PAY_MERCHANT_LOGIN="<WAY4PAY_MERCHANT_LOGIN>"
WAY4PAY_MERCHANT_SECRET_KEY="<WAY4PAY_MERCHANT_SECRET_KEY>"
WAY4PAY_MERCHANT_DOMAIN_NAME="<WAY4PAY_MERCHANT_DOMAIN_NAME>"
WAY4PAY_API_URL="<WAY4PAY_API_URL>"- Clone this repo to your local machine using
https://github.com/ita-social-projects/VictoryCenter-Back.git
- Create
.envin the WebAPI layer and insert all fields that are in.env.example.
- launch SQL Server management Studio
- In the pop-up window:
- enter "localhost" as the server name;
- select "windows authentication" as authentication mechanism;
- After the connection has been established, right-click on the server (the first line with the icon), on the left-hand side of the UI
- In the the appeared window find and click on "properties"
- In the properties section, select "security" page
- Make sure that "Server authentication" radio-button is set to "SQL Server and Windows Authentication mode"
- Click "Ok"
- Then again, on the left-hand side of the UI find folder entitled "Security", and expand it
- In unrolled list of options find folder "Logins", and expand it
- At this point, you should have "sa" as the last option. If for some reason you do not see it, please refer to https://stackoverflow.com/questions/35753254/why-login-without-rights-can-see-sa-login
- Right-click on the "sa" item, select "properties"
- Change password to the default system one - "Admin@1234". Don't forget to confirm it afterwards
- On the left-hand side select "Status" page, and set "Login" radio-button to "Enabled"
- Click "Ok"
- Right click on "localhost" server on the left-hand side of the UI and click "Restart"
Now you can connect to your localhost instance with login (sa) and password (Admin@1234)!
Run the following command to apply migrations and create the database schema:
dotnet run --project VictoryCenter.DbUpdateIf migrations are missing or need to be created, here is an example:
dotnet ef migrations add InitialCreate --project VictoryCenter.DAL --startup-project VictoryCenter.WebAPI
dotnet run --project VictoryCenter.DbUpdateStart the ASP.NET Core application:
dotnet run --project VictoryCenter.WebAPIAlternatively, if using Visual Studio:
- Open the VictoryCenter.sln solution.
- Set VictoryCenter.WebAPI as the startup project.
- Press F5 to run in debug mode.
Once started, the app will be accessible at:
- http://localhost:5000 (For HTTP)
- https://localhost:5001 (For HTTPS)
- https://localhost:5001/swagger/index.html (For Swagger)
dotnet restore- Install and set up Docker if you haven't already
- Open Docker Desktop
- Open a terminal (either inside or outside your IDE)
- Navigate to the project directory: .../VictoryCenter-Back/VictoryCenter
- Start the Docker containers:
docker compose up
- Wait for Docker to pull and set up the necessary images and containers.
- then open the appsettings.Development.json file and change Server to:
Server=localhost,1434;
The Docker-based database should now be running and ready for use!
1.The database container must be running whenever you're working on the backend. To start it:
docker compose up
2.To stop the database:
docker compose down
Alternatively, you can use Docker Desktop:
- Open Docker Desktop.
- Go to the Containers tab
- Find victorycenter-back
- Start or stop it as needed
If you encounter issues or want to reset the database:
docker compose down -v
Then recreate it using:
docker compose up
To keep the codebase clean and maintainable, we use:
.editorconfigfor unified code formatting- StyleCop analyzers across all projects
- SonarCloud for static code analysis
- SonarLint for IDE integration
Supported editors: Visual Studio 2022 / VS Code / Rider
-
.editorconfig
Already included — most IDEs pick it up automatically. -
SonarLint
Set up SonarLint and bind it to theVictoryCenter-Backproject of theita-social-projectsorg using your personal SonarCloud token. -
Fix issues locally
Your IDE will highlight style/code issues in real time. Please, fix them before committing anything to avoid CI fails.
Detailed setup guide: docs/104-Static-Code-Analysis.md
- All Pull Requests should start from prefix #xxx-yyy where xxx - task number and and yyy - short description e.g. #020-CreateAdminPanel
- Pull request should not contain any files that is not required by task.
In case of any violations, pull request will be rejected.
To get started...
-
Option 1
- 🍴 Fork this repo!
-
Option 2
- 👯 Clone this repo to your local machine using
https://github.com/ita-social-projects/SOMEREPO.git
- 👯 Clone this repo to your local machine using
- HACK AWAY! 🔨🔨🔨
- 🔃 Create a new pull request using github.com/ita-social-projects/SOMEREPO.
- Сan't install .NET Core 6.0.0+ in Visual Studio?
- Try to install Visual Studio 2022
Reach out to us at one of the following places!
- Telegram at
Iryna Zavushchak
- MIT license
- Copyright 2025 © SoftServe Academy.