This document serves as a start document and offers an overview for the practical assignment for the "Design Patterns" course. The purpose of this course is to teach students how to understand and recognize various design patterns. Design patterns are a toolkit of solutions to common problems in software design. It is mainly used for achieving better design and maintainability. Application description The student group tries to create a Desktop Application which helps users to keep track of the shows they are watching or wants to watch. Furthermore, the application allows the user to add shows, update and delete the shows they added. A database is going to be used to store the shows. This will be achieved, by using C# WinUI and the database will be MSSQL.
- Creating a front-end via WINUI
- Adding shows
- Editing shows
- Displaying a list of shows
- Deleting shows
- Saving the shows in a database
As part of the course and in order to implement some of the features, the project will use a variety of threading techniques. These include the following:
- GitHub
- C# winUI
- MVC
- Patterns(Factory, Command, Observer)
This project was made by the following students
Teodor Folea - [email protected]
Arian Atapour - [email protected]
Dimitri Vastenhout - [email protected]
Make sure to follow step-by-step the instructions.
- Windows 10 or up
- Visual Studio 2019 and above
- C# & .NET Framework
- Winui3 Library
WinUi3 can be installed by following the microsoft guide here: https://learn.microsoft.com/en-us/windows/apps/winui/winui3/create-your-first-winui3-app
- Download the latest release of MyWatchList fouund on the main repository.
- Unzip the contents in the destination of your choice.
- Download the fonts by going into "MyWatchList" folder then again into "MyWatchList" folder and afterwards enter the "Assets" folder. Enter the "Fonts" folder and double click on "JockeyOne-Regular.ttf" and click top left on the button "Install". Once installed the button becomes greyed out. You can exit from here.
- Open Visual Studio (2019 or up).
- On the Visual Studio initial screen:
- Look in the "Get started" section and select "Open a project or solution".
- Navigate to where you have unzipped the application.
- Select the "MyWatchList" folder.
- Select "MyWatchlist.sln" and press "Open".
- Visual Studio code editor will open.
- Look at the top of Visual Studio and press the button "MyWatchList (Package)".
- Wait for the app to open up.
- If the app opened up properly, you should see a screen with WatchList as title and some shows already in.
- Make the application full screen for the best viewing experience.
Using the application it's as straightforward as it gets.
- From the main page, in the top right corner press the button "Add Show".
- Fill in all the fields (don't forget to upload the image).
- It does not matter if you have no category in the "Add category" field, you can add it later. By default, all shows are put in the "All shows category". You can assign a category later to the watchable you want via the "Edit" button.
- Once you are done press on the "Submit" button.
- If the confirmation "Show added!" appears underneath the "Submit" and "Back" button that means the show has been added successfuly.
- Press the "Back" button to go back to the main page.
First of all make sure the image is of type JPG or PNG. Try to run Visual Studio as administrator.
- If the above is done already but you get an exception in the code or some other error you can try the following:
- Go where the application folder is located.
- Enter inside of it. You should see "MyWatchList" folder and "MyWatchList.sln".
- Enter inside of the "MyWatchList" folder (again).
- Within it, check if the images folder is there. If not, create a folder called "images".
- From the main page, in the top right corner press the button "Create category".
- Fill in the "Category Name" field.
- Once you are done press on the "Submit" button.
- If the confirmation "Category added!" appears underneath the "Submit" and "Back" button that means the category has been created successfuly.
- Press the "Back" button to go back to the main page.
- Now if you want to add the category you can just edit a watchable from "All shows" category. Check below for how to do that.
- From the main page, right (under the watchable image) of the watchable you want to edit press the "Edit" button.
- You don't have to fill in all the fields, just the ones you want to edit.
- Once you are done press on the "Submit" button.
- If the confirmation "Edits made !" appears underneath the "Submit" and "Back" button that means the edits were made successfuly.
- Press the "Back" button to go back to the main page. Check if the edits took place.
- From the main page, just press on the watchable itself.
- You should be redirected to its info page.
- On the left side down, press the "Back" button to go back to the main page.
- From the main page, press the "X" button up right of the watchable.
- The show should dissapear from all the categories it was previously registered to.
!IMPORTANT! DO NOT delete the "All Shows" category. This will make all the watchables dissapear. They still exist in the database but are category-less.
- From the main page, look bottom left, under the first watchable of the category.
- Press the "Delete Category" button.
- Now the category will dissapear.