You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Mark** is an AI-powered educational assessment platform that automates grading, provides intelligent feedback, and supports multilingual learning at scale.
6
6
7
-
Mark System is an advanced education technology platform that provides AI-assisted assessment and feedback capabilities for educational institutions. The system handles assignment creation, question management, student attempts, automated grading, and multilingual support.
7
+
---
8
8
9
-
## Key Features
10
-
11
-
-**AI-Assisted Grading**: Automated evaluation of various response types (text, file uploads, URLs)
12
-
-**Multi-Format Assessments**: Support for multiple-choice, text, file upload, URL submission questions
13
-
-**Multilingual Support**: Translation of assignments and questions into multiple languages
14
-
-**Assignment Management**: Creation, editing, and publishing of assignments
15
-
-**Attempt Tracking**: Monitoring student submissions and progress
16
-
-**Job Status Monitoring**: Real-time tracking of long-running operations
17
-
-**Reporting & Analytics**: Insights into student performance and system usage
18
-
19
-
## System Architecture
9
+
## Quick Links
20
10
21
-
The Mark System is built on a modular, domain-driven architecture that separates concerns into distinct services and repositories. The system follows modern software engineering principles including the repository pattern, dependency injection, and service-oriented architecture.
See [CONTRIBUTING.md](./docs/CONTRIBUTING.md) for detailed setup instructions, environment configuration, and development workflows.
41
32
42
-
-**Assignment Repository**: Data access for assignments
43
-
-**Question Repository**: Data access for questions and variants
44
-
-**Job Status Repository**: Data access for process tracking
33
+
3.**Pick an issue**
34
+
Browse the [project board](https://github.com/orgs/ibm-skills-network/projects/9) and assign yourself an issue.
45
35
46
-
#### LLM Integration
47
-
48
-
-**LLM Facade Service**: Abstraction layer for AI/ML providers
49
-
-**Specialized Grading Services**: Purpose-built evaluators for different content types
50
-
-**Prompt Processor**: Manages prompts for AI services
51
-
-**Token Counter & Usage Tracker**: Monitors usage for optimization
52
-
53
-
## Technology Stack
36
+
### For Users
54
37
55
-
-**Backend**: NestJS (TypeScript)
56
-
-**Database**: PostgreSQL with Prisma ORM
57
-
-**AI Integration**: OpenAI and other LLM providers
58
-
-**Concurrency Management**: Bottleneck.js for rate limiting
59
-
-**Testing**: Jest
38
+
Mark is designed for educational institutions looking to scale their assessment capabilities with AI assistance. Contact the team for deployment options.
60
39
61
-
## Key Architectural Improvements
40
+
---
62
41
63
-
Mark System V2 represents a significant evolution from the original architecture, with improvements in:
64
-
65
-
1.**Repository Pattern Implementation**:
66
-
- Centralized data access logic
67
-
- Improved testability and maintainability
42
+
## Key Features
68
43
69
-
2.**Service Modularity**:
70
-
- Specialized service components
71
-
- Clear boundaries of responsibility
44
+
-**AI-Assisted Grading** - Automated evaluation with customizable rubrics
|**AI/LLM**| OpenAI GPT-4o, extensible to other providers |
59
+
|**Messaging**| NATS |
60
+
|**Testing**| Jest |
61
+
|**Deployment**| Docker, GitHub Actions |
85
62
86
-
6.**Progress Tracking**:
87
-
- Detailed job status reporting
88
-
- Percentage-based completion indicators
63
+
---
89
64
90
-
7.**Health Monitoring**:
91
-
- System health checks
92
-
- Recovery from stalled processes
65
+
## Architecture Overview
93
66
94
-
### Contribution Guidelines
67
+
Mark follows a **domain-driven, service-oriented architecture** with clear separation of concerns:
95
68
96
-
Contributions are welcome.
69
+
### Layers
97
70
98
-
First, pick up an issue from the [board](https://github.com/orgs/ibm-skills-network/projects/9) and assign it to your account ( or request one of the maintainers to assign it to you )
71
+
1.**API Layer** - Controllers for assignments, questions, attempts, reports
72
+
2.**Service Layer** - Business logic, grading strategies, translation, job processing
73
+
3.**Repository Layer** - Data access abstraction
74
+
4.**Data Layer** - PostgreSQL with Prisma, caching
75
+
5.**LLM Integration** - Facade pattern for AI providers, token tracking, moderation
99
76
100
-
Please see [docs/CONTRIBUTING.md](./docs/CONTRIBUTING.md) to get started.
77
+
### Design Principles
101
78
102
-
1. Create a feature branch
103
-
2. Implement your changes with tests
104
-
3. Ensure all tests pass
105
-
4. Submit a pull request
79
+
-**Repository Pattern** - Centralized data access, improved testability
0 commit comments