This is a learning project made for and following the requirments set out in this project page.
This project allows the user to create, edit, delete, and view different 'stacks' that act as containers for flashcards, as well as individual flashcards which are assigned
to their respective stacks.
The app also features a study area which allows users to study the flashcards within their chosen stack. This works off a self correction system where the user is in charge of
marking each individual card as studied.
- The Spectre.Console library is used for a cleaner console UI.
- The application features a stack and flashcards section for executing CRUD operations.
- The application features a study session for studying a chosen stack, as well as viewing past study sessions.
You'll need to install Sql server 2025 and LocalDb. Once you download, setup, and install localDb you should have no more concerns with the setup. The application should automatically create a new localDb instance, and start it on each start up.
.NET (10.0)
Dapper (2.1.66) - ORM
Microsoft Sql Server 2025 (17.0.1000.7)
Microsoft.Data.SqlClient - Database
Microsoft.Extensions.Configuration (10.0.2) - Configuration
Microsoft.Extensions.Configuration.EnviromentVariables (10.0.2)
Microsoft.Extensions.Configuration.Json (10.0.2)
Microsoft.Extensions.Logging (10.0.2) - Logging
Microsoft.Extensions.Logging.Abstractions (10.0.2)
Microsoft.Extensions.Logging.Console (10.0.2)
I liked making the project, it was a little weird at first to figure out how to use Sql server instead of Sqlite, I especially had some problems with setting up LocalDb, but once everything was set up I enjoyed using it. I also tried to use some dependency injection in this project, which I liked learning, although I'm not sure if the actual code i wrote for this is any good. I tried going with an idea of three different areas of the app for each feature, with the 'stack area', 'flashcard area', and 'study area' all being accessed via the main menu. Sadly, I wasn't able to do the challenges for this project. I had planned on doing the challenges, but I had to go out of town for a week and ended up leaving earlier than I expected, so I didn't get to even start them before I left. Instead of focusing on the challenges, I decided it would be better to focus on just getting the project done before I left, but I ended up still having a couple of small tweaks to do so I couldn't get it submitted in time, and now that I'm back, I honestly just don't want to do the challenges, and would rather just finish up this project so I can start fresh on the next one. Maybe in the future I might come back and finish the challenge on this project, but I think for now I'd rather just move on to the next thing. Overall, I enjoyed this project, and I'm looking forward to doing the next one, especially after not doing any projects for a week.

