Direction for basic App

Jonininireland

New member
Joined
Mar 29, 2022
Messages
1
Programming Experience
Beginner
Hi guys,

I want to start developing a basic app that can keep track of my customer licenses and email off when a new one needs to be applied for. The functionality will run a little deeper than that. But its pretty basic.
I would like a basic front end that can then talk to a database.

Should i go Winforms or WPF? or is there something else i should be using? Its also a good exercise to start developing an app as i have never made a c# app before, only been tinkering with Unity a couple of years.

database? any suggestions. If i can layout the technologies i should use i can self study and put something together.

Thanks for reading.
 
I always recommend WPF (using MVVM) over WinForms simply because it forces you to use good programming practices of separating UI from data from business logic. Of course, Microsoft has its UI framework du jour which happens to be WinUI. WPF will give you a good foundation in dealing with XAML and that applies to WinUI.

The first thing to consider is what happens if nobody runs your app daily? How will it check if a license is coming close to expiration? Should your app actually be broken up into two components: UI that deals with database, and a small console app that is run by the task scheduler once a day? Or should you just write everything into a single monolithic app and have the task scheduler pass in a command line argument indicating that it is being launched in "expiration check mode" as opposed to "user interaction mode"? I would suggest that creating a Windows service is overkill for a daily check.

For databases, I'm a big fan of self-contained NoSQL databases, but use whatever you want to use that you are planning to learn and expand your horizons. Just consider that a full-blown SQL server or MySQL server just to hold a list of strings and dates might be overkill. SQLite seems to be the self-contained relational database of choice nowadays.

Also consider: do you really need a (relational) database? Can you get by with a JSON or XML file that you simply overwrite whenever you have an update?
 
Back
Top Bottom