C# · WPF · SQL Server · MVC · Student Planner · Academic Project

MyStudyLife
A Students' Task Management Desktop App

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.

C# WPF XAML .NET SQL Server MVC Material UI CRUD DataGrid Academic Project
Domain
Student planner · personal task management
Platform
WPF · .NET · Visual Studio
Architecture
3-project MVC solution · View · Model · Controller
Database
SQL Server local (DBMyStudyLife.mdf)
Scope
8 XAML views · 6-tab sidebar · 4-tile dashboard
01About

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.

02Architecture

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.

01
Solution layout — three projects, MVC-style
MyStudyLife (View) for WPF windows and user controls, MyStudentLifeModel for data classes plus the DBMyStudyLife.mdf SQL Server file, and MyStudentLifeController for the mediator + utilities. One MyStudyLife.sln ties them together.
View / Model / Controller // one .sln, three .csproj
02
Views — 8 XAML windows and user controls
View_StartUp (landing), View_SignIn / View_SignUp (auth), View_home / View_Home1 (main app), plus the UserControlDashBoard (4 Material tiles) and UserControlSearch. App.xaml is the entry point.
View_StartUp · View_SignIn · View_SignUp · View_home · DashBoard · Search
03
Model — data classes & SQL Server
The Model project keeps the local 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.
ModelClass.cs · ModelClass v2 / v3 / v4 / v5 · DBMyStudyLife.mdf
04
Controller — mediator + entity helpers
ControllerClass.cs ties views to data, supported by per-entity helpers — FilterTask, SearchTask, FilterExam, SearchExam, FilterClass, SearchClass, OverDueClass, OverDueCurrentExam, PastExam, plus today, tomorrow, and findWeekCount.
ControllerClass · datetime.cs · time_formatting.cs · 12+ entity helpers
05
User flow — StartUp → Auth → Home
The app opens on View_StartUp (landing). Sign Up creates a new user; Sign In validates credentials and routes to View_home. From Home, the 6-tab icon sidebar — Home, Dashboard, Calendar, Tasks, Exams, Search — swaps the right-side content panel.
StartUp → SignIn / SignUp → Home (6 tabs)
06
Dashboard tiles — four colors, one glance
The UserControlDashBoard uses four colored panels — cyan Today, blue Tasks, dark-teal Classes, purple Exams — each showing live counts for the day plus a Classes list with start / end times for each enrolled subject.
Today / Tasks / Classes / Exams · live counts per day
03Interactive Charts
Interactive · Plotly.js

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 Views — Size in Bytes 8 .xaml files in MyStudyLife/MyStudyLife/
Helper Methods — Grouped by Entity Domain filter · search · overdue · time · model iterations

ⓘ 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".

04Key Numbers
XAML Views
8
6 Windows + 2 UserControls
Solution Projects
3
View · Model · Controller
Sidebar Tabs
6
Home · Dashboard · Calendar · Tasks · Exams · Search
Entity Helpers
14+
Filter / Search / OverDue / Time methods
  • 01 Material-style dashboard — four colored tiles (cyan Today, blue Tasks, dark-teal Classes, purple Exams) show live counts for the day at a glance, mirroring the popular My Study Life mobile app.
  • 02 Three-project MVC solution — Views, Model, and Controller are separate .csproj files inside one .sln, keeping the UI, data, and orchestration concerns cleanly apart.
  • 03 Six-tab sidebar navigation — Home, Dashboard, Calendar, Tasks, Exams, and Search each get their own icon button in the left sidebar and swap the right-side content panel without leaving the main window.
  • 04 Entity-symmetric helpers — Task, Exam, and Class each have their own Filter, Search, and OverDue methods, plus shared today, tomorrow, and findWeekCount utilities for the agenda views.
  • 05 Visible design evolution — the repo keeps five iterations of ModelClass (v1 → v5) alongside multiple today and tomorrow variants, making the project's refactoring history readable.
05Contributions
LanguageC# · XAML
FrameworkWPF · .NET
IDEVisual Studio
DatabaseSQL Server local (DBMyStudyLife.mdf)
Solution3 projects: MyStudyLife · MyStudentLifeModel · MyStudentLifeController
ViewsStartUp · SignIn · SignUp · home · Home1 · App + DashBoard & Search UserControls
SidebarHome · Dashboard · Calendar · Tasks · Exams · Search
HelpersFilter / Search / OverDue per entity · today · tomorrow · findWeekCount · datetime · time_formatting

Browse the full repository

Solution file, XAML views, model classes, and the SQL Server MDF are all on GitHub.