To use this project all we need is installing Qt from:
Now we are good to go and clone the repository!
Star is written using Qt and Qt Quick framework. So we have a C++ backend with a QML based user interface.
Also we use Facade pattern in C section to manage the structure of application. This will get us a general purpose object named `s` which we can use in our C backend and access all of Star objects.
Star has multiple features which all of them are online and depend on Pure Soft online Star API v4. We will cover all features in this readme.
First thing that we will face is the login form. This form will get user account information in Pure Soft and then generate a token and save it to be used later instead of password.
For creating a Pure account please visit: https://puresoftware.org/go/register
Also for getting familiar with the mechanism of access token generation you can see related RFC at https://tools.ietf.org/html/rfc6749 .
When a user registers in Pure Soft and then installs Star, it has not any star settings yet, so the Pure Star API will return a 404
response when we try to fetch their settings, this code can be used to show the user the Star account setup wizard. When user completes the wiard, we will send the configuration to Pure Star API to create a Star account for them. After that when we try to fecth user settings, we will get that configuration instead of 404
result.
Using this mechanism we can keep user settings online in all of their devices.
In Star home page, we will show a brief of today date alog with user birthday converted in seconds, minutes, etc. At the bottom we will show the past amount of today time, this month days and this year days as progress bars.
Note that user can desiable showing birthday in various formats in settings. We will cover it in settings features later in this readme.
Star has a page to show today events, in jalaly calendar. This feature uses the Pure Star API v4 to provide the calendar informations online. Our app will send the Jalali date to the API and then will get back with events. Also the API will tell us if today is holiday or not and we will show that to our users.
One of the nice features of Star is its online reminders.
Users can create multiple reminders for various works and Star will save then in cloud to be shown to them in all of their devices and also in Pure account.
This section is obviously using the Pure Star v4 API to manipulate reminders.
Users can created, edit and delete cards with title, descrption, date and time which only title field is mandatory and rest of them are optional.
If a reminder has date or time, we can remind user in specified time using our systray app which we will cover in a second.
The Pure Star API v4 has a section for storing user configurations in Star. So we can use it to store various user settings. These settings are placed in a tab with the same name in Star app and any chnages that user will made to this section will be saved online and synced with other devices of the same user.
In this section user can select the visibility of showing birthday in various formats, celebrating birthday, starting app with windows and other user details.
There is another app in star-systray
folder which will be used to run in background and show reminders due time to user.
So if user want to see the reminders, they should keep this running in the background.
Note that this app is separated from main Star app and can only show system notifications and has no user interface.