Система управления предприятием нового поколения на Haskell с формальной верификацией
# Build project
stack build Surypus
# Run tests
stack test
# Run the API server
stack runComprehensive API documentation is available in API_DOCUMENTATION.md, including:
- Accounting API endpoints (ledgers, transactions, balances)
- Inventory API endpoints (goods, stock levels, movements)
- Tax API endpoints (rates, calculations)
- Reports API endpoints (balance sheet, income statement, inventory)
- Integration API endpoints (bank statement upload, health checks, status)
Surypus.CoreTypes- Business typesSurypus.JWT- Authentication tokensSurypus.RBAC- Role-based access control (33 permissions)
DAL.Database- Connection pool management (Persistent)DAL.EventStore- Event sourcingDAL.Types- Shared data types
Inventory.Goods- Product catalogInventory.Stock- Stock levelsInventory.Location- Warehouses
Finance.Accounting- General ledger with transaction validationFinance.Ledger- Journal entriesFinance.Tax- Tax calculations with VAT support
API.Server- Scotty web server with REST API endpointsAPI.Integration.REST- Integration API for bank statementsSurypus.WebSocket- Real-time notificationsInfrastructure.Encryption- Password hashing
Reports.Report- Report generation engineReports.Service- Report service layer
- Haskell (GHC 9.6.5)
- Persistent 2.18 + Esqueleto 3.6 + PostgreSQL
- Scotty web framework
- Aeson for JSON serialization
- LiquidHaskell (optional verification)
- Phase 160-165: Implemented Integration API, testing, Scotty web server, and API documentation
- Phase 166-169: Connected Accounting, Inventory, Tax, and Reports APIs to business logic modules
- Phase 170: Added comprehensive API integration tests
- Phase 171: Code cleanup and linting (replaced return with pure, removed redundant operators)
Last autonomous cycle: All planned infrastructure phases complete (Phases 160-171)
Documentation:
- ARCHITECTURE: sql/docs/ARCHITECTURE.md
- RBAC canonicalization overview: sql/docs/RBAC_CANON.md
- Audit/logs: sql/docs/AUDIT.md