How islambek996/marking-ais works
Marking AIS is an in-memory MVP for managing textbook marking codes, with a separate public DataMatrix checker. The main workflow is participant and textbook management, code ordering with billing reservation/capture, code generation, and status transitions; the scanner decodes a code and looks it up in AIS. The README also documents operations, aggregation, documents, history, users/roles, and dashboard capabilities; several are represented at their enclosing source directory because their implementation was not sampled.
Main entry points: MarkingCodeService.java Marking code service · app.js AIS web UI · CodeOrderService.java Code order service · main.jsx Dashboard UI
Components 29
User interfaces
- AIS web UI
backend/src/main/resources/static/app.js - Dashboard UI
frontend/src/main.jsx - DataMatrix scanner
scanner/src/App.jsx - GS1 parser
scanner/src/gs1.js - AIS API client
scanner/src/api.js
Participants and catalog
- Participant API
backend/src/main/java/kg/teksher/ais/participant/ParticipantController.java - Participant service
backend/src/main/java/kg/teksher/ais/participant/ParticipantService.java - Participant repository
backend/src/main/java/kg/teksher/ais/participant/ParticipantRepository.java - Textbook API
backend/src/main/java/kg/teksher/ais/textbook/TextbookController.java - Textbook service
backend/src/main/java/kg/teksher/ais/textbook/TextbookService.java - Textbook repository
backend/src/main/java/kg/teksher/ais/textbook/TextbookRepository.java - Product groups
backend/src/main/java/kg/teksher/ais/product
Codes and operations
- Marking code API
backend/src/main/java/kg/teksher/ais/code/MarkingCodeController.java - Marking code service
backend/src/main/java/kg/teksher/ais/code/MarkingCodeService.java - Marking code repository
backend/src/main/java/kg/teksher/ais/code/MarkingCodeRepository.java - Serial generator
backend/src/main/java/kg/teksher/ais/code/SerialGenerator.java - GS1 payload builder
backend/src/main/java/kg/teksher/ais/code/Gs1Builder.java - DataMatrix generator
backend/src/main/java/kg/teksher/ais/code/DataMatrixService.java - Code operations, aggregation, documents, history
backend/src/main/java/kg/teksher/ais
Orders and billing
- Code order service
backend/src/main/java/kg/teksher/ais/order/CodeOrderService.java - Billing API
backend/src/main/java/kg/teksher/ais/billing/BillingController.java - Billing service
backend/src/main/java/kg/teksher/ais/billing/BillingService.java - In-memory billing
backend/src/main/java/kg/teksher/ais/billing/InMemoryBillingService.java
AIS platform
- AIS application
backend/src/main/java/kg/teksher/ais/AisApplication.java - API error handler
backend/src/main/java/kg/teksher/ais/common/GlobalExceptionHandler.java - In-memory repositories
backend/src/main/java/kg/teksher/ais
Other components
- AIS user
- Public checker
- DataMatrix decoder
Connections 34
- AIS user → AIS web UI: uses
- AIS web UI → Participant API: requests
- AIS web UI → Textbook API: requests
- AIS web UI → Marking code API: requests
- AIS web UI → Code order service: orders
- AIS web UI → Billing API: requests
- AIS user → Dashboard UI: views
- Dashboard UI → Participant API: loads
- Dashboard UI → Textbook API: loads
- Dashboard UI → Marking code API: loads
- Dashboard UI → Code order service: loads
- Public checker → DataMatrix scanner: scans
- DataMatrix scanner → DataMatrix decoder: decodes
- DataMatrix scanner → GS1 parser: parses
- DataMatrix scanner → AIS API client: looks up
- AIS API client → Marking code API: queries
- Participant API → Participant service: dispatches
- Participant service → Participant repository: reads/writes
- Textbook API → Textbook service: dispatches
- Textbook service → Textbook repository: reads/writes
- Marking code API → Marking code service: dispatches
- Marking code service → Marking code repository: reads/writes
- Marking code service → Serial generator: generates serials
- Marking code service → GS1 payload builder: builds payload
- Marking code service → DataMatrix generator: renders code
- Marking code service → Textbook service: uses textbook
- Code order service → Textbook service: loads textbook
- Code order service → Billing service: calculates/reserves
- Code order service → Marking code service: generates codes
- Code order service → Billing service: captures/releases
- Billing API → Billing service: dispatches
- In-memory billing → In-memory repositories: stores state
- Code operations, aggregation, documents, history → Marking code service: transitions codes
- AIS application → API error handler: handles API errors