OperationCode / on-belay

A cross platform application for tracking mood
8 stars 9 forks source link

Dependency version requirements #15

Open apex-omontgomery opened 7 years ago

apex-omontgomery commented 7 years ago

What should our stack requirements be

Determined:

Undetermined:

How do we determine non-python standard library packages we are going to use. Obviously python requests and Kivy are the two big ones. I'd like to formally state that if we have a solution that requires something not in the psl then we should be cautious. to prevent compatibility issues with all of our setups.

aaron-junot commented 6 years ago

@mikerod-sd, Can you please research Firebase and see if the hosting/database solutions would be secure enough for the sensitive data in this app? If so, we may changed the Database from PostgreSQL to Firebase. Thanks

apex-omontgomery commented 6 years ago

Can we get an update of what has been stated.

It sounds like, if we are using a database it's going to be sqlite native on the iphone. We might be transitioning from kivy due to user issues, we could be going to firebase but then the discussion is that we don't need as server side database.

mikerod-sd commented 6 years ago

So for MVP we should be good with Firebase as its AuthN and AuthZ are pretty well documented. There are no glaring issues I see using it to start out (especially if we are only storing a few pieces of user data). Let me know if you have any follow up questions.

PS. Care must be taken when creating the security rules to access data.

apex-omontgomery commented 6 years ago

Determined:

Discussion

Looks like firebase isn't hipaa compliant as per the thread in slack and as seen here. if that were to become an issue we shouldn't be using firebase. For now, we won't be storing HIPAA data.

Additionally, kivy will not be compatible for packing python 3.6 iOS. I'm going to investigate porting kivy 1.10 to python 3.6. I'm not sure how difficult that will be, but for now we will continue working with 3.6 since testing of deployment to any device is fairly far.

As far as database, sqlite3 comes with python, so we will be using that. SQLAlchemy will be the ORM for the database, current version is 1.2.

If I for some reason cannot get kivy to work with 3.6, I'll be porting any 3.6 python to 2.7 for the kivy/i-os converter.

The MVP for version 1 doesn't have requirements for web-hosting all actions will be client-side. This means currently there will be no framework or server required.