A WPF desktop student planner modeled after the My Study Life online app: a colorful Material-style Dashboard of Today / Tasks / Classes / Exams tiles, a six-tab sidebar (Home, Dashboard, Calendar, Tasks, Exams, Search), and a three-project MVC solution (View / Model / Controller) backed by a local SQL Server database. Eight XAML views cover sign-up, sign-in, landing, home, and reusable user controls for the dashboard tiles and search.
MyStudyLife is a Windows desktop reimagining of the popular online study planner of the same name. The aim is to give students a single place to track every recurring class, every assignment, and every upcoming exam — with a Material-style dashboard that summarizes the day at a glance: Today, Tasks, Classes, and Exams, each as a colored tile with live counts.
Behind the UI the project is organized as a three-project Visual Studio
solution: MyStudyLife (the WPF views), MyStudentLifeModel
(data classes and SQL Server access), and MyStudentLifeController
(mediator + datetime / time-formatting utilities). A local DBMyStudyLife.mdf
SQL Server database stores users, classes, tasks, and exams.
The user flow follows the real My Study Life pattern. View_StartUp is the landing page — branded header with Sign In / Sign Up, hero with the tagline "The Online Student Planner", and four feature blocks (Track Tasks, Manage Classes, Store Exams, Get Notified). View_SignIn and View_SignUp are dark-themed authentication windows; View_home is the main app window with a left icon sidebar and a content area that swaps between Dashboard, Calendar, Tasks, Exams, and Search.
Tasks, exams, and classes each get their own family of helper methods —
FilterTask, SearchTask, OverDueClass, PastExam,
today, tomorrow, findWeekCount — that the controller
composes to build the agenda views. The repo also preserves five iterations of the
Model class (ModelClass.cs through ModelClass v5), making
the project's design evolution easy to read.
One Visual Studio solution, three projects, eight XAML views, and a local SQL Server database. The View project owns the UI; the Model project owns the data classes and SQL Server access; the Controller project owns the mediator logic plus shared datetime / time-formatting utilities and entity-specific filter / search methods.
DBMyStudyLife.mdf SQL Server file, and MyStudentLifeController for the mediator + utilities. One MyStudyLife.sln ties them together.App.xaml is the entry point.DBMyStudyLife.mdf SQL Server database alongside C# classes for User, Class, Task, and Exam. The repo preserves five iterations of ModelClass (versions 1–5), making the design refactoring path visible.Two views of the codebase rendered with Plotly.js. The first shows the size of each XAML view — View_home dominates because it hosts the entire main app (sidebar + content panels for every tab). The second groups the repo's helper methods by entity domain (Task / Exam / Class / Auth / Util / Model), giving a sense of where development effort concentrated.
ⓘ XAML sizes are raw byte counts from the MyStudyLife/MyStudyLife/ directory.
Helper-method counts are file counts from the repo root — each filename like
FilterTask method, SearchExam method, OverDueClass method v2,
today.cs is one file. Five ModelClass iterations are included under "Model".
.csproj files inside one .sln, keeping the UI,
data, and orchestration concerns cleanly apart.
ModelClass (v1 → v5) alongside multiple today and
tomorrow variants, making the project's refactoring history readable.
MyStudyLife (View), MyStudentLifeModel (data + SQL Server),
and MyStudentLifeController (mediator + utilities) within one .sln.
| Language | C# · XAML |
| Framework | WPF · .NET |
| IDE | Visual Studio |
| Database | SQL Server local (DBMyStudyLife.mdf) |
| Solution | 3 projects: MyStudyLife · MyStudentLifeModel · MyStudentLifeController |
| Views | StartUp · SignIn · SignUp · home · Home1 · App + DashBoard & Search UserControls |
| Sidebar | Home · Dashboard · Calendar · Tasks · Exams · Search |
| Helpers | Filter / Search / OverDue per entity · today · tomorrow · findWeekCount · datetime · time_formatting |
Solution file, XAML views, model classes, and the SQL Server MDF are all on GitHub.