Evaluation Grid - Final Project
Technical Evaluation (60 points)
Architecture and Structure (15 points)
| Criteria | Points | 0 | 1-2 | 3-4 | 5 |
|---|---|---|---|---|---|
| MVC Structure | 5 | Absent | Partial | Good | Excellent |
| Layer Separation | 5 | Mixed | Partial | Clear | Perfect |
| DTOs | 5 | Absent | Some | Complete | With mapping |
REST API (15 points)
| Criteria | Points | 0 | 1-2 | 3-4 | 5 |
|---|---|---|---|---|---|
| CRUD Endpoints | 5 | Incomplete | Basic | Complete | With pagination |
| HTTP Codes | 3 | Incorrect | Partial | Correct | - |
| Validation | 5 | Absent | Basic | Complete | With messages |
| Error Handling | 2 | Absent | Basic | - | - |
Persistence (15 points)
| Criteria | Points | 0 | 1-2 | 3-4 | 5 |
|---|---|---|---|---|---|
| Spring Data JPA | 5 | Absent | Basic | Complete | Optimized |
| Relations | 5 | Absent | Simple | Complex | With cascade |
| Custom Queries | 3 | Absent | Query methods | @Query | - |
| Transactions | 2 | Absent | Basic | - | - |
Security (15 points)
| Criteria | Points | 0 | 1-2 | 3-4 | 5 |
|---|---|---|---|---|---|
| Spring Security | 5 | Absent | Basic | Configured | Complete |
| JWT | 5 | Absent | Basic | Complete | With refresh |
| Roles/Permissions | 4 | Absent | Basic | Complete | With @PreAuthorize |
| Password encoding | 1 | Absent | Present | - | - |
Test Evaluation (15 points)
| Criteria | Points | 0 | 1-3 | 4-6 | 7+ |
|---|---|---|---|---|---|
| Unit Tests | 5 | 0 tests | 1-4 | 5-9 | 10+ |
| Integration Tests | 5 | 0 tests | 1-2 | 3-4 | 5+ |
| Coverage | 5 | Less than 30% | 30-50% | 50-70% | More than 70% |
Code Quality Evaluation (15 points)
| Criteria | Points | Description |
|---|---|---|
| Readability | 5 | Clear code, well indented, consistent naming |
| Comments | 3 | Javadoc on public methods, relevant comments |
| Best Practices | 4 | No duplicated code, SOLID, DRY |
| Configuration | 3 | Profiles, externalized properties |
Documentation Evaluation (10 points)
| Criteria | Points | Description |
|---|---|---|
| README | 4 | Description, installation, execution |
| API Documentation | 3 | Documented endpoints |
| Instructions | 3 | Clear user guide |
Bonus (30 points maximum)
| Feature | Points | Criteria |
|---|---|---|
| Redis Cache | 5 | Configuration + functional annotations |
| RabbitMQ Messaging | 5 | Functional Producer + Consumer |
| WebSocket | 5 | Functional real-time |
| Docker | 5 | Functional Dockerfile + docker-compose |
| CI/CD | 5 | GitHub Actions with build + tests |
| Swagger/OpenAPI | 5 | Complete API documentation |
| Monitoring | 5 | Actuator + custom metrics |
| Microservices | 10 | 2+ services + communication |
Final Grading Scale
| Grade | Points | Description |
|---|---|---|
| A+ | 95-100 | Exceptional |
| A | 90-94 | Excellent |
| A- | 85-89 | Very good |
| B+ | 80-84 | Good |
| B | 75-79 | Satisfactory |
| B- | 70-74 | Acceptable |
| C+ | 65-69 | Passable |
| C | 60-64 | Minimum |
| D | 50-59 | Insufficient |
| F | Less than 50 | Fail |
Penalties
| Infraction | Penalty |
|---|---|
| Late | -5% per day |
| Plagiarism | 0 + disciplinary measures |
| Non-compilable code | -20% |
| Non-executable application | -30% |
| Missing README | -10% |
Evaluation Sheet
Student: _______________________
Project: _________________________
Date: ___________________________
TECHNICAL EVALUATION (60 pts)
[ ] Architecture and Structure ___/15
[ ] REST API ___/15
[ ] Persistence ___/15
[ ] Security ___/15
TESTS (15 pts)
[ ] Unit Tests ___/5
[ ] Integration Tests ___/5
[ ] Coverage ___/5
CODE QUALITY (15 pts)
[ ] Readability ___/5
[ ] Comments ___/3
[ ] Best Practices ___/4
[ ] Configuration ___/3
DOCUMENTATION (10 pts)
[ ] README ___/4
[ ] API Documentation ___/3
[ ] Instructions ___/3
SUBTOTAL: ___/100
BONUS
[ ] Redis Cache ___/5
[ ] RabbitMQ Messaging ___/5
[ ] WebSocket ___/5
[ ] Docker ___/5
[ ] CI/CD ___/5
[ ] Swagger/OpenAPI ___/5
[ ] Monitoring ___/5
[ ] Microservices ___/10
TOTAL BONUS: ___/30
PENALTIES: ___
FINAL TOTAL: ___
Comments:
_________________________________
_________________________________
_________________________________
Evaluator: _____________________
Signature: ______________________