TechnionYP5777 / Smartcity-Smarthouse

Smartcity-Smarthouse
11 stars 5 forks source link

Create the "User information" class #48

Closed inbalzukerman closed 7 years ago

inbalzukerman commented 7 years ago

For more information see: #24 #19

Create the class that handles the user information. It's required functionalities:

Notice - this class should be implemented in the "System" package

SharonKL commented 7 years ago

@inbalzukerman are we going to put this in the prototype of Milestone Alpaca? This requires development of another GUI, logic to handle registration requests and development of a new database type.

I think in the upcoming prototype presentation this isn't required, and we can push it to the second presentation (in roughly 2.5 weeks?), while now focusing more on the communication with sensors and apps, and data management.

Any one agrees/disagrees? @EliaTraore @ylevv @roy-shchory @RonGatenio

ylevv commented 7 years ago

I agree, it is more reasonable to move it to the next milestone.

EliaTraore commented 7 years ago

I agree. Even if it gets implmented now, I'm pretty sure the current version of apps doesn't have the code and gui to handle it at the moment.

Can't we already open bunny-milestone and put it there?

inbalzukerman commented 7 years ago

@SharonKL - I agree, clearly it's not too relevant to out current milestone, and it is not part of it's defined goals.

@EliaTraore - I think it is better to leave it in the general "Sprint 2" milestone since there aren't any goals for the lovely about-to-come bunny(?)-milestone. It sounds reasonable that it would belong there, but anyhow we'll know better after defining the goals for the next milestone formally ☺️

EliaTraore commented 7 years ago

Off topic but, why the question mark next to bunny? its obviously the best choice for the next sprint :heart_eyes: I mean look at it -

EliaTraore commented 7 years ago

I think its within our reach in the current milestone, plus 1/4 of #75 depends on it (hence the "blocker" label). Don't mind implementing it if you're not down for it right now.

inbalzukerman commented 7 years ago

@EliaTraore It's ok, I can implement it. Let's just agree on what functionalities are required from UserInformation (?)

inbalzukerman commented 7 years ago

@SharonKL , @EliaTraore - What do you think? what functionalities are required from UserInformation ?

SharonKL commented 7 years ago
EliaTraore commented 7 years ago
SharonKL commented 7 years ago
EliaTraore commented 7 years ago
inbalzukerman commented 7 years ago

My current point of view:

@EliaTraore @SharonKL - a penny for your thoughts?

SharonKL commented 7 years ago
EliaTraore commented 7 years ago

And another thing I just thought of - we should consider adding email-related elvls, and add an email field to the definition of contact as well. It will be easier to implement sending alerts via email (so we might be able to show it in the presentation of bunny) and maybe some people prefer email alerts.

SharonKL commented 7 years ago
EliaTraore commented 7 years ago

-

- (omg hebrew is so edgyy) The apps depend on `alert(String appId, String msg, EmergencyLevel elvl)` to notify about abnormalities. We could either put that in a separate class (#comunicationHandler #calledIt) or have it as part of the `UserInformation` class.

I thought that since keeping the info by itself is a small task, this class could go ahead and implement the functionality of contacting the contacts as well. If you guys think its should be in a separate class+issue then I'll go ahead and start the github-paperwork on it.

inbalzukerman commented 7 years ago

@EliaTraore - I agree with you about not saving the emergency level in the Contact class and I will add an email field asap- really good idea 👍 😄

I don't really understand what do you mean by "profile" though 😞

EliaTraore commented 7 years ago

a profile is just a - Map<EmergencyLevel, List<Contact>> (assuming thats the structure holding the info) the default profile will have a list for every elvl, each of which is initialized (since we have to have a default) and then the user can say "i wanna have a special behaviour for SOS app" so you create a new map assosiated with the id of the application, and when an app alert on some behaviour you first check its map (if it exists, and the elvl have an initialized list there), and if not you go for the default profile.

EliaTraore commented 7 years ago

Now that I'm writing it, I see that there's a small issue of knowing the appId by the sides involved, so for now I guess the basic implementation could ignore the appId param of alert and just use the default profile, since its really not that critical at the moment.

inbalzukerman commented 7 years ago

Thanks for the explanation 😊 👍

inbalzukerman commented 7 years ago

@EliaTraore and @RonGatenio - By now I'm (really) almost done with my part of this class (only some safety checks to add on one method) Feel free to work on alert, I left it empty 👍

inbalzukerman commented 7 years ago

@EliaTraore , @RonGatenio - I've noticeג there is another issue regarding the alert method and it's implementation. Therefore, I've completed this issue since alert's implementation is a crucial part of #108 . Therefore, I'm closing this issue 😄 🎉