diff --git a/7project/checklist.md b/7project/checklist.md index 4ec4eb6..12fc75b 100644 --- a/7project/checklist.md +++ b/7project/checklist.md @@ -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 | | | 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. | +| 32 | 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 | @@ -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) | | | 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. | +| 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 | | | 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. | +| 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 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 | +| 33 | 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. | +| 20 | 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 | +| Testing | Unit tests | 5 | 4 | All workflows are covered by tests | | | Integration 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 | -| | 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 | -| 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 | | | Authentication | 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 | | | 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** | | +| 11 | Exceptional user experience | 5 | 3 | | +| **Total** | | **255** | **257** | | ## Grading Scale