Files
uis-cloud-computing/7project/checklist.md
2025-11-16 17:27:13 +01:00

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