My attempt at organisation using the MVC architectural pattern and wireframing

My attempt at organisation using the MVC architectural pattern and wireframing

Model-view-controller pattern

I've been learning about the MVC architectural pattern while searching for ways to organise my project! There's a diagram from Wikipedia below:

Source to image

So, from my understanding, (please take it with a grain of salt as I am a first year student), Model is where you store anything related to data for your project (for example, your name), View is where you store the UI logic (what the user sees), and Controller is where you store the interaction between Model and View (so, let's say, the way you get more points to spend on your virtual cat!).

With that in mind, here is how I've organised my project so far (This is in Visual Studio):

"Model" used to contain a database, but I decided to re-do that, so that and Controller are currently empty.

Also, you'll see "Report.cs" under View, but I'm thinking of putting the Report functionality on hold for now and focus on the rest of it.

UML Diagrams - Wireframing

I worked on this project a little bit before starting this blog. However, it was super disorganised. This blog was part of that, but I also decided to try doing some wireframing!

Wireframing is making mock-ups of what you want your UI to look like. I made these on Figma.

This will be the Home of ClowderTask, where you can see your cat. My current plan is to do this using a PictureBox control, using the Timer class to set an interval for the cat to move. If I have more time, I'd like to look into things like using the XNA Framework to do this instead, but ahh, scope creep!

You earn points when you do tasks. This is where you can buy gifts for your cat! You don't have to feed your cat as your cat is pretty independent :) But treats, toys, and cat furniture will be available.

Settings will be where you can input your name, your cat's name, maybe a password in case you're not the only one that uses your PC.

Here is the 'bread and butter' of the app, Tasks! You'll be able to set Tasks you want to do, and attach them to Processes. For example, I could set a task 'Write post forHashnode', and attach it to Word, so when Word runs it adds time to the 'Write post on Hashnode'. It's not perfect because of course you can use the same app for multiple tasks :) But hey, more points for your cat! I will use System.Diagnostics for this.

Thanks for reading and as always, I'd really appreciate any feedback or advice! I am a novice :)