У продакшніФінанси

My Self

Облік фінансів для ФОП і малих ТОВ: рахунки, договори, платежі й банківські реквізити кількох компаній в одному застосунку — з автоматичною звіркою оплат.

  • 220+комітів
  • 94HTTP-ендпоінти
  • 17сторінок інтерфейсу
  • 14.NET-проєктів
Огляд

Про проєкт

Один користувач може вести кілька організацій, запрошувати колег із ролями, зберігати контрагентів і реквізити, виставляти рахунки — зокрема регулярні за договорами — та звіряти їх із вхідними платежами.

Платежі імпортуються з CSV або щогодини синхронізуються з Privat24, а система сама зіставляє їх із рахунками й оновлює статуси. Продукт побудований на .NET 10 за принципами чистої архітектури та розгортається через GitHub Actions на власний сервер.

Можливості

Що вміє система

  • Кілька компаній

    Створення, перемикання й вихід з організацій; доступ видається окремо для кожної компанії.

  • Ролі та дозволи

    Ролі в межах компанії з дозволами на кшталт Invoices:Manage і запрошення колег на email.

  • Контрагенти й реквізити

    ФОП і ТОВ, IBAN/SWIFT-реквізити; банківські дані маскуються без розширених прав.

  • Рахунки та PDF

    8 статусів життєвого циклу, пакетний експорт PDF із шаблонами для України та Канади.

  • Договори й регулярні рахунки

    Щомісячний воркер створює рахунки за договорами без дублікатів.

  • Платежі та Privat24

    Імпорт CSV і щогодинна синхронізація з Privat24 з дедуплікацією.

  • Автоматична звірка

    Зіставлення платежів із рахунками за контрагентом, сумою й датою з перевіркою валюти та перерахунком статусів.

  • Дашборд

    Річний огляд, щомісячна динаміка, розподіл статусів і суми за валютами.

  • Passkeys

    Вхід через WebAuthn / FIDO2 поряд із паролем, відновленням і зміною пароля.

Архітектура

Як це побудовано

  1. Чиста архітектура й CQRS

    Шари Api, Application, Domain, Infrastructure і модулі Shared, Workers, Metadata; MediatR із ~94 обробниками, специфікації, доменні події.

  2. Ізоляція даних компаній

    Глобальний фільтр EF Core за компанією з токена, інтерсептор під час запису та pipeline-перевірка доступу.

  3. Типізований API-клієнт

    OpenAPI-документ генерує TypeScript-клієнт через NSwag — контракти фронтенду й бекенду не розходяться.

  4. Фонові задачі в реальному часі

    Задачі за CRON для кожної компанії з прогресом у браузері через SignalR.

  5. CI/CD

    GitHub Actions: збірка й тести з покриттям, перевірка типів фронтенду, образи в приватний реєстр і деплой на self-hosted runner через Docker Compose і Nginx.

Інтеграції

Зовнішні сервіси

  • Privat24Синхронізація банківських транзакцій у платежі.
  • Microsoft GraphEmail: запрошення, скидання пароля.
  • WebAuthn / FIDO2Вхід через passkeys.
Технології

Стек проєкту

Backend

  • .NET 10
  • ASP.NET Core
  • MediatR
  • EF Core
  • ASP.NET Identity
  • SignalR
  • QuestPDF

Frontend

  • Vue 3
  • TypeScript
  • Quasar
  • Pinia
  • Vite
  • Highcharts

Дані

  • SQL Server

Інфраструктура

  • Docker Compose
  • Nginx
  • GitHub Actions

Маєте ідею або проєкт?

Відкритий до співпраці над бізнес-системами, CRM та інтеграціями. Напишіть — обговоримо.

vhnatovskyi@hotmail.com