Monday, September 24, 2018 02:14

Research stage of building an application

The second step in the process of developing an application is the research phase. I was explaining in the previous lessons that there are a few steps for building applications the right way, and that jumping straight on the keyboard is not a good idea. After we finished planning in the last lesson what we want to build, how we want it to look and how should it perform, now it is time to research topics related to these ideas, in order to make the whole implementation step easier. Not only we can read up on subjects we are not yet familiar with, or we are not comfortable enough about, but we can also find out if certain things we are about to code haven’t been already developed by others. I was saying that you should not confuse this step with making a huge list of websites links from where you can copy and paste codes that you have no idea what they do or how they do. This step is about understanding the concepts we are working with, research them up, understand and familiarize ourselves with them, and only then, looking for things that are possibly already developed, that we could use in our projects.

This step is composed pretty much of googling skills. If you have developed a strong sense of searching and filtering with Google, this phase should be very easy.

For the first module of our application, the authentication part, I said that I will be using a database storage solution, in order to get ourselves familiar with this kind of solution for storing data. There are multiple types of databases, multiple languages for interacting with databases and multiple frameworks that implement ways of using those languages, but we are only going to learn about SQL, or Structured Query Language (because it is very popular), with SQL Server and SQL Server Management Studio (SSMS), which are programs that will allow us to store and use data. There are tons of tutorials and articles related to these topics, some better, some not so beginner friendly. However, I have selected two YouTube videos for the purpose of practical demonstration of how we can store, retrieve and use data in a database:

https://www.youtube.com/watch?v=O9R0k7PIPac
https://www.youtube.com/watch?v=Et2khGnrIqc

However, the purpose of this website is not to teach about SQL, so I will only make a detailed, practical, step-by-step explanation of the process of building the authentication module, but I am not going to teach you about the SQL syntax and stuff like that. If you will want to know more about it, you will have to research and read for yourself.

The next thing that we need to research is about how to make a calendar control, from scratch. We need to read about what a control is, how we implement controls in WPF/XAML, and nonetheless, how we code a calendar design and functionality from scratch. And, believe me, even if the logic behind a calendar’s functionality may seem trivial, it couldn’t be more far from it. Although written in Visual Basic.NET using WinForms, although quite old and not using quite the best design patterns, I did write a calendar control towards the start of my encounter with .NET development. It was based on an older tutorial, which had many bugs, and was only displaying the current month, without offering the navigation possibility, but I greatly improved it. You can read about this endeavor in this forum thread and you can read the actual tutorial that I’ve wrote here.

Next, we have a module that deals with reading and writing into text files. Again, this is highly documented on the web, with tons of good tutorials about it. I have selected these links:

https://www.dotnetperls.com/file-readalltext
https://www.dotnetperls.com/file-readlines
https://www.dotnetperls.com/streamwriter
https://docs.microsoft.com/en-us/dotnet/api/system.io.file.writealltext?view=netframework-4.7.2

We also deal with storing the options preferences in the Registry, so we can read what these are here:

https://en.wikipedia.org/wiki/Windows_Registry

and how to use them with C# here:

https://www.codeproject.com/Articles/3389/Read-write-and-delete-from-registry-with-C
https://www.codeproject.com/Articles/4808/All-you-wanted-to-know-about-the-Registry-with-C-P

Still related to writing text files, and the Options module too, I said that we will allow the users to select the path where they want to store logs. For this, we need to find out how to open a Select Folder windows dialog. The first result in Google is a link to a StackOverflow page (stackoverflow.com is a huge forum where you can find answers for programming related questions) that offers examples too:

https://stackoverflow.com/questions/11767/browse-for-a-directory-in-c-sharp

All the other topics should be somehow familiar to you, because we discussed them in detail here, in the past lessons. In the next lesson, we will create the graphical user interface of our program.

Comments

comments

Tags: , ,

Leave a Reply