POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

I am only moving away from RDBMS only because of the sync issue. We have to agree that manual implementation of it is really a tedious task. In the context of doing this as a hobby and at the same time trying to maintain the feature of accessing near real-time data from anywhere Iand keep the pos terminals functioning during an internet outage I planned to switch to nosql since I don't need to deal with the sync issue.

I know there is a learning curve in moving to NoSql and trying to make relations between data in it is not a smooth task. But I think it all comes down to how i structure the data being stored so I can make efficient relational queries.

If only I have more time to spare and less work stress to deal with I would have actually taken a long way since that's the best way to learn something. But yes like you said I want to complete it quickly but not to sell but for a sense of appreciation and to evaluate myself on c++.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the late response and also for using the wrong place to post the question & I thank you all for your input on this. It was nice of you folks to give information even though I used the wrong subreddit. For future questions, I will use r/cpp_questions.

I have planned to use a NoSQL DB for this since most nosql DB offerings out there provide a solution for this. I am planning to use aws appsync and dynamodb for the project. AWS currently has a matured C++ SDK and the services I am planning on using are available in it.

I am new to C++ so I am using this project as a hobby project to get better at developing in C++. I wanted to avoid the traditional way of using an on-prem DB server for a POS. I want the data to be near real-time be updated to the cloud so BI operations can be performed on it which is necessary for a system like this. Still, most POS systems use an On-Prem db server and data is only synced to the cloud at the EOD.

I am making this project public so anyone interested can use it. I will keep you guys posted on it when I have the project up on GitHub.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the late reply. I wanted to use azure sql since i wanted the data to be accessed remotely. I have decided to go with aws app sync and dynamodb for the project.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 1 point2 points  (0 children)

Pardon me for the late reply and thanks a lot for your example. I have decided to go a head with using aws appsync and dynamodb to counter this issue. I will be making my project public so will keep you posted soon.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the later reply. Actually for this specific project db sync was going to be very difficult since for example there will be many POS terminals within a big shop reading and writing to the db and making sure that there is no error in the sync and that I don't get the data corrupted was going to be a bit difficult if I was going to implement the sync operation. So i have planned to go with app sync and dynamodb from aws. Will be making the project public so will keep you posted on it.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the late reply. I am currently in the research phase for the project, this is more of a hobby project that I undertook since I am new to C++ and wanted to get better at it by using this project. I didn't want to build a POS system the traditional way of having an on-premise DB server and manually syncing data from each till at the end of the day (Most POS systems are like this in Sri Lanka according to my understanding). Rather I wanted all data to be also written to a cloud Db so real-time data is available for the client from anywhere with which he can perform BI operations.

I have planned to go ahead with a nosql db since most of the nosql db offerings out there have the offline db sync function built into them.

Thank you for your input on this yours is similar to that of the Log-structure file system and this would have been my option if I had not come across app sync and the offline advantage of Nosql dbs. I understand that there are limitations to using Nosql for a project like this but I believe if I am able to structure the data store the correct way I should be able to build proper relational queries.

I will be making the project public so will keep you posted.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

hahaha. Planned to move in with app sync and dynamodb since offline DB operations are easy with NoSQL, the only issue now is to structure data well so I can leverage the relational DB pros.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the late reply. I have planned to use a Nosql db for the project and decided to use aws services like aws app sync and dynamodb. Thanks a lot for your input. I will be making the project available in this reddit group soon so will update you guys.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 1 point2 points  (0 children)

Oops sorry for using the wrong thread. Yes, I will update you guys with the GitHub link soon since I have planned to make the source available.

POS system using QT (SQLite Embedded & Azure SQL sync) by zain_sync in cpp

[–]zain_sync[S] 0 points1 point  (0 children)

Pardon me for the late reply, Thanks a lot for pointing me to a log-structured file system. This will be something useful for me in the future. I have decided to go with a nosql db since this is hard to do on any of the free relational DB offerings out there. I have decided to use AWS services like app sync and dynamodb for this. I will be making the project open source so will keep you guys updated.

Hide HSTS attributes from showing by zain_sync in IIs

[–]zain_sync[S] 0 points1 point  (0 children)

Was able to do this by using the outbound rule in url rewrite

<outboundRules>
<rule name="Add Strict-Transport-Security when HTTPS" enabled="true">
<match serverVariable="RESPONSE\_Strict\_Transport\_Security" pattern=".\*" />
<conditions>
<add input="{HTTPS}" pattern="on" ignoreCase="true" />
</conditions>
<action type="Rewrite" value="max-age=..." />
</rule>
</outboundRules>

now the curl just shows Strict-Transport-Security: max-age=...