Skip to content

Flashcard Submission - #216

Open
Esaiy wants to merge 20 commits into
the-csharp-academy:mainfrom
Esaiy:main
Open

Flashcard Submission#216
Esaiy wants to merge 20 commits into
the-csharp-academy:mainfrom
Esaiy:main

Conversation

@Esaiy

@Esaiy Esaiy commented May 2, 2026

Copy link
Copy Markdown

No description provided.

@Dejmenek Dejmenek left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @Esaiy 👋,
First of all, we're really sorry that you had to wait such a long time for your project to be reviewed 😔. I've reviewed it now, and I have to say it looks fantastic 😁. Thank you for your patience and for putting so much effort into it.


🟢 Your project meets all the requirements🎉
🟢 Good separation of responsibilities by splitting the logic into controllers, services, and repositories.
🟢 Nice use of the Fisher-Yates shuffle algorithm to randomize the order of cards when studying a stack of flashcards.
⭐ Well done on completing half of the monthly study session reports. You've correctly implemented the average score per month report. The only missing part is the report showing the number of study sessions per month.


Suggestions

I've left some comments with suggestions and ideas for improvement👍

🟡 When there are no stacks and I try to study or manage flashcards, there is no visible feedback explaining that this action cannot be performed. The message disappears too quickly without giving the user enough time to read it.


I've seen you had a problem with looking through exceptions for SqlClient. Yeah, unfortunately that's pretty common with SqlClient. It usually exposes a single SqlException type, and you need to inspect properties to determine the specific SQL Server error. The exception numbers can feel a bit messy because SQL Server uses them to represent different errors.

The same approach applies to other database providers as well. For example, SQLite has its own exception type and error codes, so handling specific database errors usually requires checking provider-specific values.


I'll mark your project as approved✔. Keep up the great work!

WHERE YEAR(date) = @Year
AND stack.id = @Id
) AS src
PIVOT

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 The average score is calculated as a SQL float, but it is mapped to an int in ReportDTO, which means the decimal part could be truncated and the results may lose precision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants