diff --git a/docs/grading_table.md b/docs/grading_table.md new file mode 100644 index 00000000..cea9c288 --- /dev/null +++ b/docs/grading_table.md @@ -0,0 +1,100 @@ +## 1. ๐Ÿงฉ Functional Application (20 Points) + +| Criteria | Points | Status | Responsible | Comment | +| -------------------------------------------------------------------------- | ------ | ------ | ----------- | -------------------------------------------------------------------------------------------------------------------------- | +| End-to-end functionality between all components (client, server, database) | 6 | 60% | All | | +| Smooth and usable user interface | 4 | 70% | Enrico | Mock data needs to be removed once backend is fully ready. Dashboard and Profile page not pushed yet, but already finished | +| REST API is clearly defined and matches functional needs | 4 | 90% | James | Will need some expansion for Invite/RSVP by @Anastasiia | +| Server Side has at least 3 microservices | 4 | 100% | All | | +| Application topic is appropriately chosen and fits project objectives | 2 | 100% | All | | + +## 2. ๐Ÿค– GenAI Integration (10 Points) + +| Criteria | Points | Status | Responsible | Comment | +| --------------------------------------------------------------------- | ------ | ------ | ----------- | ------- | +| GenAI module is well-embedded and fulfills a real user-facing purpose | 4 | %? | Anastasiia | | +| Connects to cloud/local LLM | 4 | %? | Anastasiia | | +| Modularity of the GenAI logic as a microservice | 2 | %? | Anastasiia | | + +--- + +## 3. ๐Ÿณ Containerization & Local Setup (10 Points) + +| Criteria | Points | Status | Responsible | Comment | +| --------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------ | ----------- | --------------------------- | +| Each component is containerized and runnable in isolation | 6 | 100% | All | | +| docker-compose.yml enables local development and testing with minimal effort and provides sane defaults (no complex env setup required) | 4 | 90% | James | Requires testing at the end | + +--- + +## 4. ๐Ÿ” CI/CD & Deployment (20 Points) + +| Criteria | Points | Status | Responsible | Comment | +| ----------------------------------------------------------------------------------------------------------------------- | ------ | ------ | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | +| CI pipeline with build, test, and Docker image generation via GitHub Actions | 8 | 80% | James (6):
- Build,
- Publish
- Unit Testing

Open (2):
- Integration Testing
(Anastasiia?) | Missing integration testing
| +| CD pipeline set up to automatically deploy to Kubernetes on main merge | 6 | 90%\* | Anastasiia | Needs work to match current implementation | +| Deployment works on our infrastructure or Cloud, alternative Kubernetes environments (e.g., Minikube, TUM infra, Azure) | 6 | 90% | Enrico (AWS) | AWS Compose file needs to be adapted to the final implementation | + +--- + +## 5. ๐Ÿ“Š Monitoring & Observability (10 Points) + +| Criteria | Points | Status | Responsible | Comment | +| ------------------------------------------------------- | ------ | ------ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| Prometheus integrated and collecting meaningful metrics | 4 | 50% | Enrico | Prometheus and Grafana are integrated in the Helm deployment; connection to the microservices will be done once they expose the metrics endpoint | +| Grafana dashboards for system behavior visualization | 4 | 0% | Enrico | Will be discussed in team meeting (07-07) | +| At least one alert rule set up | 2 | 0% | Enrico | Will be discussed in team meeting (07-07) | + +--- + +## 6. ๐Ÿงช Testing & Structured Engineering Process (20 Points) + +| Criteria | Points | Status | Responsible | Comment | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | +| Test cases implemented for server/client and GenAI logic | 6 | 30% | Unit:

James (2):
- User
- Matching

Anastasiia (2)
- Gateway
- RSVP
- GenAI

Integration:
- Open (2)
- (Anastasiia?) | | +| Evidence of software engineering process: documented requirements, architecture models, such as top-level architecture, use case diagramm and analysis object model. | 10 | - | All | Requires update at the end | +| Tests run automatically in CI and cover key functionality | 4 | 50% | James | Units Run automatically.

Work needed on Integration | + +--- + +## 7. ๐Ÿ“š Documentation & Weekly Reporting (10 Points) + +| Criteria | Points | Status | Responsible | Comment | +| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------ | ------ | --------------------- | -------------------------------------------- | +| [README.md](http://README.md) or Wiki includes setup instructions, architecture overview, usage guide, and a clear mapping of student responsibilities | 2 | %? | Open
(James?) | Needs update at end

Upload this table | +| Documentation of CI/CD setup, and GenAI usage included | 2 | %? | Open
(James)? | Needs update at end | +| Deployment and local setup instructions are clear, reproducible, and platform-specific (โ‰ค3 commands for local setup, with sane defaults) | 2 | %? | Open
(Anastasiia?) | Needs update at end | +| Subsystems have documented interfaces (API-driven deployment, e.g. Swagger/OpenAPI) | 2 | 100% | James | May need update | +| Monitoring instructions included in the documentation and exported as files | 2 | %? | Enrico | Unsure what this means | + +--- + +## 8. ๐ŸŽค Final Presentation (Pass/Fail) + +| Criteria | Points | Status | +| ----------------------------------------------------------------------------------------- | --------- | ------ | +| All students present their own subsystem | Pass/Fail | Open | +| Live demo of application and DevOps setup | Pass/Fail | Open | +| Team reflects on what worked well, what didnโ€™t, and answers follow-up technical questions | Pass/Fail | Open | + +--- + +## ๐Ÿ… Bonus Points (up to +5) + +| Criteria | Points | Status | Responsible | Comment | +| ---------------------------------------------------------------------------- | ------ | ------ | ----------- | -------------------------------------------------------------- | +| Advanced Kubernetes use (e.g., self-healing, custom operators, auto-scaling) | +1 | ? | Anastasiia? | How hard is this to implement | +| Full RAG pipeline implementation (with vector DB like Weaviate) | +1 | ? | Anastasiia? | Part of GenAI.

Is this even applicable to our use-case? | +| Real-world-grade observability (e.g., log aggregation, tracing) | +1 | ? | Enrico? | How hard is this to implement | +| Beautiful, original UI or impactful project topic | +1 | %? | Enrico | This is pretty much done no? | + +## Total Points + +| Responsible | Current | Including Open | +| ----------- | ------- | -------------- | +| All | 28 | 28 | +| Enrico | 22 | 24 | +| James | 22 | 26 | +| Anastasiia | 18 | 26 | +| Open | 10 | 0 | +| Extra | 4 | 0 |