Time Eclipse
Brief summary
The purpose of this program is to help people stay productive and to keep them aware of how much time they spend daily
on their most important activities.
Time Eclipse is strictly a windows-only program and it is meant to be left running
in the background while activities are undergoing.
Walkthrough
1) Login/Register
The program is based on individual accounts, which are stored in a database built in MSSQL.
Therefore, the first step is to create an account, and then login.

2) Creating and adding a new activity



3) Tracking the activity




4) Check records and receive feedback

5) Bonus
- To navigate through each page, you can use the tabs available on the upper side of the interface;
- There is also an option to follow an explicit tutorial for the program, by clicking on the "Guide" tab;
- The application can be closed by signing out.

FAQ
What inspired you to build Time Eclipse?
Upon trying to think of what kind of personal project I could build for my portfolio, I thought the best idea would be to create something practical, that has some sort of utility in real life. Eventually, the idea of productivity came to mind. So I have designed this program with the goal of making it as engaging and beginner-friendly as possible.What inspired me the most is the fact that I myself wanted to use this program for my own purposes. So I was constantly flooded with ideas of what features I would like to add to make my life easier. Overall, TimeEclipse as been a fun ride that further deepened my passion for programming and its endless possibilities.
How was the process of building Time Eclipse like?

From drawing the UI design, to building up the concepts and functionalities that I had in my mind, I was constantly met with challenges and roadblocks. Overcoming them wasn't always easy, but the constant success was undoubtly building up my confidence and general knowledge as a software developer.
As I kept moving forward, what I wanted my program to be had become much clearer. From a certain point, things made more sense and new ideas started to come up.
What would you add/change about your program if you were to do it all over again?

When it comes to additional features, I have a few in mind, such as implementing a Dark Mode feature, or a Minimize Window option (since TimeEclipse was designed to run in the background most of the time).
Some of the best realizations I have achieved are:
- I developed a more analytical mindset. I also learned to ask the right questions and search for the right information to solve unexpected problems and move forward.
- I have been stuck numerous times during the project. As discouraging as it sometimes was, I did learn that there is always a solution for any problem. Patience and taking things step by step goes a long way.
- I have deepened my understanding around concepts that I wasn't feeling that comfortable with, such as:
1) How databases work and how to manipulate data according to your needs;
2) How to work with .Net Core and use NuGet Packages (I eventually had to switch the whole project to .Net Framework, since .Net Core imposed some limits with UI, causing bugs)
3) Working with value types such as DateTime and TimeSpan;
4) Working with collections such as Dictionaries and Lists;
5) How to use Windows Forms in a way that makes the UI more engaging;
6) Applying CRUD and KISS principles;
7) Testing my code and identifying what wasn't working.