Initial commit: Predictalytics solution

Clean Architecture .NET 8 solution (Domain/Application/Infrastructure/Api/Worker/WinFormsHost)
for analyzing Polymarket traders for copytrading/strategy-replication candidates.

Includes EF Core InitialBaseline migration and DB secrets removed from source/config
in preparation for version control.
This commit is contained in:
Richard
2026-07-01 19:53:29 +02:00
commit afb251acfc
107 changed files with 9613 additions and 0 deletions
@@ -0,0 +1,19 @@
using Predictalytics.Domain.Entities;
using Predictalytics.Domain.Enums;
namespace Predictalytics.Domain.Interfaces;
public interface IMarketRepository
{
Task<Market?> GetByPlatformIdAsync(PlatformType platform, string platformMarketId, CancellationToken ct = default);
Task<MarketOutcome?> GetOutcomeByTokenIdAsync(string tokenId, CancellationToken ct = default);
Task<IReadOnlyList<MarketOutcome>> GetOutcomesByTokenIdsAsync(IEnumerable<string> tokenIds, CancellationToken ct = default);
Task AddOrUpdateAsync(Market market, CancellationToken ct = default);
Task AddOrUpdateRangeAsync(IEnumerable<Market> markets, CancellationToken ct = default);
Task<IReadOnlyList<Market>> GetActiveAsync(int count = 50, CancellationToken ct = default);
Task<int> GetCountAsync(CancellationToken ct = default);
Task<IReadOnlyList<Market>> GetMarketsDueForTradeUpdateAsync(int cooldownHours, int limit, CancellationToken ct = default);
Task UpdateAsync(Market market, CancellationToken ct = default);
Task<Market?> GetByIdAsync(int id, CancellationToken ct = default);
Task<IReadOnlyList<Market>> SearchAsync(string query, int take = 20, CancellationToken ct = default);
}