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 поряд із паролем, відновленням і зміною пароля.
Як це побудовано
-
Чиста архітектура й CQRS
Шари Api, Application, Domain, Infrastructure і модулі Shared, Workers, Metadata; MediatR із ~94 обробниками, специфікації, доменні події.
-
Ізоляція даних компаній
Глобальний фільтр EF Core за компанією з токена, інтерсептор під час запису та pipeline-перевірка доступу.
-
Типізований API-клієнт
OpenAPI-документ генерує TypeScript-клієнт через NSwag — контракти фронтенду й бекенду не розходяться.
-
Фонові задачі в реальному часі
Задачі за CRON для кожної компанії з прогресом у браузері через SignalR.
-
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 та інтеграціями. Напишіть — обговоримо.