mirror of
https://github.com/dat515-2025/Group-8.git
synced 2026-03-22 06:57:47 +01:00
82 lines
18 KiB
Markdown
82 lines
18 KiB
Markdown
# 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 | 0 | Our server is stateful TODO: v tomhle mám furt bordel |
|
|
| | Stateful application | 10 | 10 | Our server is stateful TODO: v tomhle mám furt bordel |
|
|
| | 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 | |