feat(docs): finalized checklist.md

This commit is contained in:
ribardej
2025-11-16 21:07:16 +01:00
parent 7a0d7dc4af
commit 16f660ea5b

View File

@@ -20,7 +20,7 @@ This means that you must get at least 2 points for each item in this category.
| | Clear build/deployment instructions | 5 | 5 | Should be clear | | | Clear build/deployment instructions | 5 | 5 | Should be clear |
| | Troubleshooting guide | 5 | 3 | When it comes to troubleshooting, there is never enough documentation | | | Troubleshooting guide | 5 | 3 | When it comes to troubleshooting, there is never enough documentation |
| | Completed self-assessment table | 5 | 5 | Completed. | | | Completed self-assessment table | 5 | 5 | Completed. |
| 30 | Hour sheets for all members | 5 | 5 | Filled. | | 32 | Hour sheets for all members | 5 | 5 | Filled. |
| Presentation Video | Project demonstration | 5 | 5 | Yes | | 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. | | | 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 | | 13 | Deployment showcase | 5 | 5 | Yes |
@@ -29,33 +29,33 @@ This means that you must get at least 2 points for each item in this category.
| | Advanced features implemented | 10 | 5 | OAuth, BankAPI connection (not only mock bank) | | | 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 | | | 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 | | 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. | | Backend & Architecture | Stateless web server | 5 | 5 | Yes, the web server is stateless - authentication uses JWT, not sessions. |
| | Stateful application | 10 | 10 | Yes, the app is stateful - data are persistently stored in database | | | 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. | | | 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 | | | 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. | | 33 | 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 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 | | | 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 | | | 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 | | 33 | Advanced cloud services | 5 | 5 | Using CF provides us with DDOS protection, access rules, it hides our IP |
| **DevOps & Deployment** | | | | | | **DevOps & Deployment** | | | | |
| Containerization | Basic Dockerfile | 5 | 5 | Yes | | Containerization | Basic Dockerfile | 5 | 5 | Yes |
| | Optimized Dockerfile | 5 | 5 | Rootless Dockerfile | | | Optimized Dockerfile | 5 | 5 | Rootless Dockerfile |
| | Docker Compose | 5 | 5 | For development environment | | | Docker Compose | 5 | 5 | For development environment |
| 15 | Persistent storage | 5 | 5 | Yes, using Longhorn. | | 20 | Persistent storage | 5 | 5 | Yes, using Longhorn. |
| Deployment & Scaling | Manual deployment | 5 | 5 | Yes, possible by using Helm manually | | Deployment & Scaling | Manual deployment | 5 | 5 | Yes, possible by using Helm manually |
| | Automated deployment | 5 | 5 | Yes, with Github actions | | | Automated deployment | 5 | 5 | Yes, with Github actions |
| | Multiple replicas | 5 | 5 | Yes, 3 pods with API, 3 pods with workers, 3 database pods | | | Multiple replicas | 5 | 5 | Yes, 3 pods with API, 3 pods with workers, 3 database pods |
| 25 | Kubernetes deployment | 10 | 10 | Yes | | 25 | Kubernetes deployment | 10 | 10 | Yes |
| **Quality Assurance** | | | | | | **Quality Assurance** | | | | |
| Testing | Unit tests | 5 | 4 | All workflows is covered by tests | | Testing | Unit tests | 5 | 4 | All workflows are covered by tests |
| | Integration tests | 5 | 5 | Yes | | | Integration tests | 5 | 5 | Yes |
| | End-to-end tests | 5 | 5 | Yes | | | End-to-end tests | 5 | 5 | Yes |
| 12 | Performance testing | 5 | 0 | No | | 14 | Performance testing | 5 | 0 | No |
| Monitoring & Operations | Health checks | 5 | 5 | Yes | | Monitoring & Operations | Health checks | 5 | 5 | Yes |
| | Logging | 5 | 2 | Logs can be accessed easily using Grafana | | | Logging | 5 | 4 | Logs can be accessed easily using Grafana |
| | Metrics/Monitoring | 2 | 2 | Yes, visualised in 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. | | 14 | 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 | | Security | HTTPS/TLS | 5 | 5 | Yes |
| | Authentication | 5 | 5 | Yes | | | Authentication | 5 | 5 | Yes |
| 15 | Authorization | 5 | 5 | Yes | | 15 | Authorization | 5 | 5 | Yes |
@@ -64,8 +64,8 @@ This means that you must get at least 2 points for each item in this category.
| Technical Excellence | Real-time features | 10 | 0 | No | | Technical Excellence | Real-time features | 10 | 0 | No |
| | Creative problem solving | 10 | 4 | Cron jobs for bank scraping | | | Creative problem solving | 10 | 4 | Cron jobs for bank scraping |
| | Performance optimization | 5 | 4 | Delegating emails and scraping to workers, hosting frontend on CF | | | Performance optimization | 5 | 4 | Delegating emails and scraping to workers, hosting frontend on CF |
| 7 | Exceptional user experience | 5 | 3 | | | 11 | Exceptional user experience | 5 | 3 | |
| **Total** | | **255** | **214** | | | **Total** | | **255** | **257** | |
## Grading Scale ## Grading Scale