mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 15:12:08 +01:00
18 KiB
18 KiB
Project Evaluation Checklist
The group earn points by completing items from the categories below. You are not expected to complete all items. Focus on areas that align with your project goals and interests.
The core deliverables are required. This means that you must get at least 2 points for each item in this category.
| Category | Item | Max Points | Points | Comment |
|---|---|---|---|---|
| Core Deliverables (Required) | ||||
| Codebase & Organization | Well-organized project structure | 5 | 5 | Project is well-organized, each part is separated (backend, frontend, IaC) and these parts are separated even mode (modules, packages...) |
| Clean, readable code | 5 | 4 | Should be readable(function names should help), but readability can always be improved | |
| Use planning tool (e.g., GitHub issues) | 5 | 4 | We used Github issues | |
| Proper version control usage | 5 | 5 | We used branches for development, pull request reviews | |
| 23 | Complete source code | 5 | 5 | The code is complete - entire codebase is in this repository |
| Documentation | Comprehensive reproducibility report | 10 | 10 | Our report is precise, anybody should be able to reproduce our deployment by following provided instructions |
| Updated design document | 5 | 4 | Our design document was updated and merged into the report | |
| Clear build/deployment instructions | 5 | 5 | Should be clear | |
| Troubleshooting guide | 5 | 3 | When it comes to troubleshooting, there is never enough documentation | |
| Completed self-assessment table | 5 | 5 | Completed. | |
| 30 | Hour sheets for all members | 5 | 5 | Filled. |
| Presentation Video | Project demonstration | 5 | 5 | Yes |
| Code walk-through | 5 | 3 | There was not enough time to go through all of our code, so we just mentioned some parts of it. | |
| 13 | Deployment showcase | 5 | 5 | Yes |
| Technical Implementation | ||||
| Application Functionality | Basic functionality works | 10 | 10 | The app works as intended |
| Advanced features implemented | 10 | 5 | OAuth, BankAPI connection (not only mock bank) | |
| Error handling & robustness | 10 | 5 | App notifies user about errors, errors in code are also logged by sentry and we get notified | |
| 24 | User-friendly interface | 5 | 4 | Responsive interface with dark mode support, should by user friendly enough |
| Backend & Architecture | Stateless web server | 5 | 5 | Yes, the web server is stateless - authentification uses JWT, not sessions. |
| Stateful application | 10 | 10 | Yes, the app is stateful - data are persistently stored in database | |
| Database integration | 10 | 10 | We have deployed 3 MariaDB nodes with replication, MaxScale proxy and periodic backups. Connection app with this setup is same as with standalone db. | |
| API design | 5 | 5 | Backend APIs are implemented with public Swagger docs | |
| 28 | Microservices architecture | 10 | 3 | We have separated API deployment and worker deployment. Worker process slow tasks - emails, payment scraping. There is no need for another service in current state but adding it is easy. |
| Cloud Integration | Basic cloud deployment | 10 | 10 | Yes (In private cluster), using GH Actions and self-hosted runner. |
| Cloud APIs usage | 10 | 8 | GH Actions deploys frontend to Cloudflare Pages, deployment creates CF tunnel record automatically | |
| Serverless components | 10 | 10 | We are using CF pages for frontend deployment | |
| 10 | Advanced cloud services | 5 | 5 | Using CF provides us with DDOS protection, access rules, it hides our IP |
| DevOps & Deployment | ||||
| Containerization | Basic Dockerfile | 5 | 5 | Yes |
| Optimized Dockerfile | 5 | 5 | Rootless Dockerfile | |
| Docker Compose | 5 | 5 | For development environment | |
| 15 | Persistent storage | 5 | 5 | Yes, using Longhorn. |
| Deployment & Scaling | Manual deployment | 5 | 5 | Yes, possible by using Helm manually |
| Automated deployment | 5 | 5 | Yes, with Github actions | |
| Multiple replicas | 5 | 5 | Yes, 3 pods with API, 3 pods with workers, 3 database pods | |
| 25 | Kubernetes deployment | 10 | 10 | Yes |
| Quality Assurance | ||||
| Testing | Unit tests | 5 | 4 | All workflows is covered by tests |
| Integration tests | 5 | 5 | Yes | |
| End-to-end tests | 5 | 5 | Yes | |
| 12 | Performance testing | 5 | 0 | No |
| Monitoring & Operations | Health checks | 5 | 5 | Yes |
| Logging | 5 | 2 | Logs can be accessed easily using Grafana | |
| Metrics/Monitoring | 2 | 2 | Yes, visualised in Grafana | |
| 12 | Custom Metrics for your project | 3 | 3 | Yes, API has /metrics endpoint providing information about FastAPI itself and custom information such as number of users or transactions. |
| Security | HTTPS/TLS | 5 | 5 | Yes |
| Authentication | 5 | 5 | Yes | |
| 15 | Authorization | 5 | 5 | Yes |
| Innovation & Excellence | ||||
| Advanced Features and | AI/ML Integration | 10 | 0 | No |
| Technical Excellence | Real-time features | 10 | 0 | No |
| Creative problem solving | 10 | 4 | Cron jobs for bank scraping | |
| Performance optimization | 5 | 4 | Delegating emails and scraping to workers, hosting frontend on CF | |
| 7 | Exceptional user experience | 5 | 3 | |
| Total | 255 | 214 |
Grading Scale
- Minimum Required: 100 points
- Maximum: 200+ points
| Grade | Points |
|---|---|
| A | 180-200+ |
| B | 160-179 |
| C | 140-159 |
| D | 120-139 |
| E | 100-119 |
| F | 0-99 |