Giter VIP home page Giter VIP logo

hackthenorth-android's People

Contributors

kartiktalwar avatar moezbhatti avatar srcreigh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hackthenorth-android's Issues

Screenshots

Here are a couple screenshots of the app so far. Those list items are loaded from a hardcoded JSON string in the app and decoded; in the future the data will be loaded from Firebase.

The list also takes a string identifier. We can use this to specify different data sources.

There's only one item in the navigation drawer right now, but it can be extended to load different pages.

I have yet to determine what the JSON data model should look like for updates. It currently has a title and a body, as you can see in the list. We might want a "from" field, in case we want to specify who the update is from --- the HTN team, a sponsor, the judges, etc. I think we will get timestamps by default from Firebase.

List of updates
Navigation drawer

Current JSON data

{"mentors":{"abc":{"availability":[["2014-09-21T18:30:11-05:00","2014-09-21T18:40:11-05:00"],["2014-09-22T18:30:11-05:00","2014-09-22T19:40:11-05:00"],["2014-09-21T16:30:11-05:00","2014-09-21T19:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"],["2014-09-21T18:30:11-05:00","2014-09-21T18:30:11-05:00"]],"image":"http://images5.fanpop.com/image/photos/28500000/Mr-Bean-s-holiday-mr-bean-28500182-1366-738.jpg","name":"Mr. Bean","organization":"Microsoft","skills":["Python","Java","C#"]},"def":{"availability":[["2014-09-22T18:30:11-05:00","2014-09-22T18:40:11-05:00"]],"name":"Barack Obama","organization":"United States of America","skills":["C+","Javo","Objective-D"]}},"notifications":{"android":{"APA91bE_daj1WFnsYzz0O5kekLttERTFyyx7vRH1Liov6_93ZgYDX02nrDKt1BplEq2kh7FksTCD6fMU6hf1yzyfOAUAf10j7mQUiSTT-94lZqge6ZPIvmvgbW4W6KrrCmLZJ-GVcll6_y2tgClps3iacuAKGqFnxEhyptiaOnT3wl9xfgJUYHk":"dummy","APA91bEuI3nnXHvKi3p3w89nMQC2j9UEE-7IkGJlmdiXzz5Yfqao_qOQhOqC06p7s3DNRlhsQqwGWv1QDCNZ78nbMN00WOp3uCWiALmuvJutPgUZ98QSAWczLwotrZFtkwVvkfJ24eE3SlnF9AgBIq4pnhSYyN7rvCBZtCfCqm782BuHk5xLCcM":"dummy","APA91bHk8cEYR3re0iuoZCittxLD5PxV_DCNOTvbJMMvUF0-bNfLYP15aZKCGf5KrkVEXHlWrRYDbXTK8jClsfNXd0oNzvOWoT0688_Ko7DdG2rqS0yYvAKq_gNszr-7t1NcNxlt80p8do__eccwCVgz6oqK7kNrCxaEcjlkASlPFmAyWZmFv1c":"dummy"},"ios":{"B82953CAF143A4173209FA729D828648626235D82C53E9846323F113BEA257BB":"dummy"}},"prizes":{"aaa":{"company":"Bloomberg","contact":"placeholderckthenorth.com","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Artistic App","prize":["Kobo","Leap Motion"]},"aab":{"company":"Wit.AI","contact":"","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Best App of the Event","prize":["Moto 360","Leap Motion","XBox One","Samsung Galaxy S5"]},"aac":{"company":"proton","contact":"[email protected]","name":"ProtoPrize","prize":["kiwi fruit"]},"aad":{"company":"Wit.AI","contact":"[email protected]","description":"success The block to be executed on the completion of a successful request. This block has no return value and takes two arguments: the receiver operation and the object constructed from the response data of the request.","name":"Most Fun App","prize":["ARDrone","Google Glass"]},"aae":{"company":"Facebook","description":"Hello there","name":"Best Social App","prize":["T-shirt"]},"aag":{"company":"NBA","name":"Best NBA Hack","prize":["kobe shirt"]}},"schedule":{"aaa":{"description":"Do not transmit nudity, sexually harass anyone, publicize other peoples' private information, make statements that defame or libel anyone, violate intellectual property rights, or behave in any other inappropriate or illegal way on Omegle. Understand that human behavior is fundamentally uncontrollable, that the people you encounter on Omegle may not behave appropriately, and that they are solely responsible for their own behavior. Use Omegle at your own peril. Disconnect if anyone makes you feel uncomfortable. You may be denied access to Omegle for inappropriate behavior, or for any other reason. ","end_time":"2014-09-21T19:30:11-05:00","location":"E5 2001","name":"Learn from Hackers in Startups","speaker":"Velocity Manager","start_time":"2014-09-20T18:30:11-05:00","type":"event"},"aab":{"description":"Learn Android and Do Great Hacks!","end_time":"2014-09-19T23:30:11-05:00","location":"Gear Lab","name":"Introduction to Android","speaker":"Sergey Brin","start_time":"2014-09-19T22:30:11-05:00","type":"workshop"}},"team":{"aaa":{"email":"[email protected]","name":"John Appleseed","phone":416498291,"role":["transportation","organizer"],"twitter":"@johnHackApps"},"aab":{"email":"[email protected]","image":"http://images5.fanpop.com/image/photos/28500000/Mr-Bean-s-holiday-mr-bean-28500182-1366-738.jpg","name":"Hack The North","phone":0,"role":["organizer"],"twitter":"@HackTheNorth"},"aac":{"email":"[email protected]","name":"Tim Cook","phone":911,"role":["jazz player","a very very very very dry veryveryv long rooleslsefsef to o test in the uisfe interfacefes","another eo vvervy verve ronlong long role to totest it"],"twitter":"@iCook"},"aad":{"email":"[email protected]","name":"Amy Wong","phone":456789}},"test":"DO NOT DELETE! This is a test value, that we can use to check if we have a valid Firebase secret.","updates":{"-JTnNtKLbDzG1SbeYiHh":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"This is a test. Can our update script use the Firebase API to push updates?","name":"Shane","time":"2014-08-07T22:12:25-04:00"},"-JTnPC1TBjRtPWa4lMJ0":{"avatar":"https://scontent-b-ord.xx.fbcdn.net/hphotos-xaf1/t31.0-8/s960x960/1052312_10151788815623436_2099200343_o.jpg","description":"Food will be ready in a few minutes. It's time to take a break.","name":"Si Te Feng","time":"2014-08-07T22:18:13-04:00"},"-JTnPKWqtoMyGWdLmH3J":{"avatar":"https://scontent-b-ord.xx.fbcdn.net/hphotos-xaf1/t31.0-8/s960x960/1052312_10151788815623436_2099200343_o.jpg","description":"Wifi is currently being interrupted by malicious attacks. Our secret agents are working to resolve the issue.","name":"Kartik Talwar","time":"2014-08-07T22:18:47-04:00"},"-JTnVIrjF1dTZ7kg2w-A":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"This is another test. Can we do time correctly now?","name":"Shane Creighton-Young","time":"2014-08-07T22:44:54-04:00"},"-JTnVwRW8MVJW4RPquIl":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"Final test. Can. We. Do. This?","name":"Shane Creighton-Young","time":"2014-08-07T22:47:41-04:00"},"-JTrtT0EDVyLFhxloCYz":{"avatar":"https://fbcdn-sphotos-d-a.akamaihd.net/hphotos-ak-xfp1/t1.0-9/10402433_567082076737890_2279562190508226115_n.jpg","description":"I'm testing authentication! Weooo!","name":"Shane","time":"2014-08-08T19:13:19-04:00"},"-JTtN3Z9L27NL2XeNCEf":{"avatar":"","description":"This is a real update. For real.","name":"Shane Creighton-Young","time":"2014-08-09T02:06:38-04:00"},"-JTvXwYE-GyymoeF_Pr8":{"avatar":"","description":"I whip my haaaaair back and forth I whip my haaaaair back and forth","name":"Shane Creighton-Young","time":"2014-08-09T12:13:08-04:00"},"-JTw_mEVNnOLiMFB7d67":{"avatar":"","description":"Notification?","name":"Shane Creighton-Young","time":"2014-08-09T17:05:23-04:00"},"-JTwcsX_mIrNP8OkEk-c":{"avatar":"","description":"Notifications!","name":"Kartik Talwar","time":"2014-08-09T17:18:55-04:00"},"-JTwdQDS5UibAAyYlKJX":{"avatar":"","description":"This is a test. Will this show up in the notification body?","name":"Shane Creighton-Young","time":"2014-08-09T17:21:17-04:00"},"-JTwf39ix8SIq-3baqNR":{"avatar":"","description":"What's uppppppppp","name":"Si Te Feng","time":"2014-08-09T17:28:28-04:00"},"-JTwg4obWzMsBjl1Nfs8":{"avatar":"","description":"Wake up, Shane!","name":"Shane Creighton-Young","time":"2014-08-09T17:32:57-04:00"},"-JTwgJru_iBhDcLraEXO":{"avatar":"","description":"Yo this app is sweet yo","name":"Moez Bhatti","time":"2014-08-09T17:33:57-04:00"},"-JTxWmTZDVQqIOETQcY-":{"avatar":"","description":"Batch notifications testing!","name":"Shane Creighton-Young","time":"2014-08-09T21:27:34-04:00"},"-JTxX3LLP5GuwxUE465k":{"avatar":"","description":"More batch notifications testing","name":"Shane Creighton-Young","time":"2014-08-09T21:28:47-04:00"},"-JTxjTa68CHjiXGk47M5":{"avatar":"","description":"Even more batch notifications testing","name":"Shane Creighton-Young","time":"2014-08-09T22:27:22-04:00"},"-JTxjhW3RDfQuep_nG7-":{"avatar":"","description":"Test","name":"Shane Creighton-Young","time":"2014-08-09T22:28:23-04:00"},"-JTxk3GfaZdwBRWQic8D":{"avatar":"","description":"Test","name":"Shane","time":"2014-08-09T22:29:56-04:00"},"-JTxl2-XlRnoBLDXGQEP":{"avatar":"","description":"Test?","name":"What?","time":"2014-08-09T22:34:12-04:00"},"-JTxla-hDJpynMzHcSVL":{"avatar":"","description":"huh","name":"what","time":"2014-08-09T22:36:34-04:00"},"-JU2-IXtFlBDAkpv8Uci":{"avatar":"","description":"This is the first update from our EC2 MicroInstance! Yay!","name":"Shane Creighton-Young","time":"2014-08-11T02:59:00-04:00"},"-JU2-a27XiTayowsCErQ":{"avatar":"","description":"Aaaand after fixing a bug, this should be the first update that actually gives notifications.","name":"Shane Creighton-Young","time":"2014-08-11T03:00:17-04:00"},"-JU21G6xRtHaEeLBSwS3":{"avatar":"","description":"Testing, resting","name":"Si Te Feng","time":"2014-08-11T03:07:35-04:00"},"-JU21emGfeXm2geyPaXb":{"avatar":"","description":"Another test update!","name":"Moez Bhatti","time":"2014-08-11T03:09:21-04:00"},"-JU25fVm_s8BvVf0aAUT":{"avatar":"","description":"Testing local timezone stuff","name":"Shane Creighton-Young","time":"2014-08-11T03:26:45+00:00"},"-JU286XLIX4FnJhlAbj_":{"avatar":"","description":"testing","name":"Testing","time":"2014-08-11T03:37:26+00:00"},"-JU5LKay5sC9JtHXpjfg":{"avatar":"","description":"testing testing","name":"Moez Bhatti","time":"2014-08-11T18:34:03+00:00"},"-JU5LsPwSHoG8tC5dhdT":{"avatar":"","description":"Neat, eh?","name":"Shane Creighton-Young","time":"2014-08-11T18:35:42+00:00"},"-JU79_fgURLlUiQ6_Md_":{"avatar":"","description":"Hey guys! Pizza is ready. We ordered 3 whole large pizzas, so that should probably feed about 9 of you. First come first serve in RCH 2107","name":"Moez Bhatti","time":"2014-08-12T03:02:01+00:00"},"-JU7IuCfjvFNkB_RWw9M":{"avatar":"","description":"Testing that notifications are cleared properly...","name":"Shane Creighton-Young","time":"2014-08-12T03:42:36+00:00"},"-JU7Wv941pSE_lHHYqr4":{"avatar":"","description":"New notification icon test","name":"Moez Bhatti","time":"2014-08-12T04:43:59+00:00"},"-JU7nxgvdFSiPKxHDWMb":{"avatar":"","description":"Testing","name":"Shane Creighton-Young","time":"2014-08-12T06:02:49+00:00"},"-JU7qs4VurcGEZLElYRJ":{"avatar":"","description":"Testing, testing....","name":"Moez Bhatti","time":"2014-08-12T06:15:31+00:00"},"-JU7rD13SvflJ1qaJDjb":{"avatar":"","description":"Testing, testing","name":"Kartik Talwar","time":"2014-08-12T06:17:01+00:00"},"-JU7rJ6dOuMqCv40MiX6":{"avatar":"","description":"Wow this is sweet!","name":"Heming Zhang","time":"2014-08-12T06:17:27+00:00"},"-JU7sxEguWNtE4b_4L79":{"avatar":"","description":"Holy realtime, Batman!","name":"Si Te Feng","time":"2014-08-12T06:24:35+00:00"},"-JU7tmeGX5RFmi8KOI3C":{"avatar":"","description":"Holy cow, batman!","name":"George Wen","time":"2014-08-12T06:27:50+00:00"},"-JU7tsrbY1dOoVijGYHb":{"avatar":"","description":"Background notifications.","name":"Background notificaions?","time":"2014-08-12T06:28:41+00:00"},"-JUBEuLk4DoVKWs8Mqeo":{"avatar":"http://www.metrodogstop.com/cms/wp-content/uploads/2013/05/cute-dog.jpg","description":"What's upppp","name":"Shane","time":"2014-08-12T22:03:38+00:00"},"-JUBGLkwcBZ8vcTjkn3y":{"avatar":"http://www.metrodogstop.com/cms/wp-content/uploads/2013/05/cute-dog.jpg","description":"Sup","name":"Shane Creighton-Young","time":"2014-08-12T22:10:02+00:00"},"-JUBGR4xERMeoMgmFYKD":{"avatar":"https://www.google.ca/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&docid=el2_nPD26PbcwM&tbnid=Hpzw4pK3-ouHQM:&ved=0CAUQjRw&url=http%3A%2F%2Fwww.fanpop.com%2Fclubs%2Fteddybear64%2Fimages%2F16834863%2Ftitle%2Fdog-cat-wallpaper-wallpaper&ei=y5DqU6j_OYaWyATsiYKgDQ&bvm=bv.72938740,d.aWw&psig=AFQjCNEXM-qSOOBOh973JMaqAw32UVPZ7A&ust=1407966739047814","description":"Suppppppp","name":"Shane Creighton-Young","time":"2014-08-12T22:10:25+00:00"},"-JUBGfNYkdOfTHp5YA0A":{"avatar":"http://images4.fanpop.com/image/photos/16800000/Dog-and-Cat-Wallpaper-teddybear64-16834863-1280-800.jpg","description":"I liek catz","name":"Moez Bhatti","time":"2014-08-12T22:11:27+00:00"},"-JUBH2E4_tdyn3hQoy2v":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"Pigs tho","name":"Kartik Talwar","time":"2014-08-12T22:13:06+00:00"},"-JUBHHHSrfllQJr8pwKi":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"uhhhhhh ok you're right","name":"Shane Creighton-Young","time":"2014-08-12T22:14:06+00:00"},"-JUBIV5MR-ZEDDW8oaDT":{"avatar":"http://www.richardaustinimages.com/wp-content/uploads/2011/09/piglets_34.jpg","description":"Suppp","name":"Shane Creighton-Young","time":"2014-08-12T22:19:21+00:00"},"-JULTp_I-iXg8f-hxDxU":{"avatar":"","description":"Test","name":"Test","time":"2014-08-14T21:45:09+00:00"},"-JULTtu3zd0bRqO4siHB":{"avatar":"","description":"Test","name":"Test","time":"2014-08-14T21:45:27+00:00"},"-JUMqXF_nRZxj_7McLku":{"avatar":"","description":"Hi, Si Te!","name":"Shane","time":"2014-08-15T00:08:20-04:00"},"-JUMqdyRYx3sdPnWJxhV":{"avatar":"","description":"Hi, Si Te!","name":"Shane","time":"2014-08-15T00:08:48-04:00"},"-JUMtvDpDl0yR11mO04T":{"avatar":"","description":"What's up, Si Te?","name":"Shane","time":"2014-08-15T00:23:10-04:00"},"-JUMuEgKDTUHysSyEgCj":{"avatar":"","description":"How's this format?","name":"Shane","time":"2014-08-15T00:24:34-04:00"},"-JUMvqCwCLNsxxraL3fg":{"avatar":"","description":"Come get pizza before it's gone!","name":"Shane Creighton-Young","time":"2014-08-15T00:31:33-04:00"},"-JUMw3FLCXmLG2aVE2qa":{"avatar":"","description":"Yo! I'm mentoring for apps here! Come find me!","name":"Moez Bhatti","time":"2014-08-15T00:32:31-04:00"},"-JUaNHCnx9rwejyR4CHW":{"avatar":"","description":"testing notification noises","name":"Shane Creighton-Young","time":"2014-08-17T23:50:24+00:00"},"-JUaNK96V4p7VAZ3lEJB":{"avatar":"","description":"what","name":"huh","time":"2014-08-17T23:50:38+00:00"},"-JUaNbhF7fgZFZxSm4up":{"avatar":"","description":"n","name":"n","time":"2014-08-17T23:51:54+00:00"},"-JUaVPk1WETO7WNiUAyJ":{"avatar":"","description":"What's uppp","name":"Shane","time":"2014-08-18T00:25:57+00:00"},"-JUaVSbALq-v4sDCw2Cz":{"avatar":"","description":"what's up","name":"hey","time":"2014-08-18T00:26:09+00:00"},"-JUaVxfT7wCkscvKlQvs":{"avatar":"","description":"sup","name":"hey","time":"2014-08-18T00:28:21+00:00"},"-JUap_CyUUoD8tkPTGlj":{"avatar":"","description":"hey","name":"sup","time":"2014-08-18T01:58:26+00:00"},"-JUapdPCHjp7jYqwE6F4":{"avatar":"","description":"test","name":"test","time":"2014-08-18T01:58:43+00:00"},"-JUapiupQXwB69kHOMOb":{"avatar":"","description":"hey","name":"sup","time":"2014-08-18T01:59:05+00:00"},"-JUaxjWRWGqN7rk2cX1Q":{"avatar":"","description":"What's up?","name":"Food time!","time":"2014-08-17T22:34:06-04:00"},"-JUay2nEH8HfWziTsNKK":{"avatar":"","description":"supsupsupsupsup","name":"Moez Bhatti","time":"2014-08-17T22:35:29-04:00"},"-JUaz3wzM4gLRjvCdCve":{"avatar":"","description":"test","name":"Test","time":"2014-08-17T22:39:56-04:00"},"-JUbq4w4NzTof1qEITLH":{"avatar":"hi.hey","description":"hey guys whatsup","name":"Shane","time":"2014-08-18T02:40:17-04:00"},"-JUeC-_yhSLW6NKYDKGg":{"avatar":"THIS IS NOT A URL AT ALL. WILL YOUR APP BREAK?","description":"hey guys what's up?","name":"shane","time":"2014-08-18T13:39:39-04:00"},"-JUeCHwj4YcTPF111wWi":{"avatar":"","description":"hi","name":"shane","time":"2014-08-18T13:40:54-04:00"},"-JUeDaUpcxmu6GArYUH_":{"avatar":"","description":"Testing from prod","name":"Shane Creighton-Young","time":"2014-08-18T17:46:36+00:00"},"-JUpn9WnR4nwaqEFY5g4":{"avatar":"","description":"Hey Brennen","name":"Shane","time":"2014-08-20T23:42:08+00:00"},"-JUr1HyvlIVMC6lXY6Bf":{"avatar":"http://www.picshunger.com/wp-content/uploads/2014/05/Kitten-Or-Puppy.jpg","description":"I'm cute!","name":"Fluffy McScruffles","time":"2014-08-21T05:27:51+00:00"},"-JUr1s2J79IBtWWxaVB8":{"avatar":"http://cdn.sheknows.com/articles/2013/04/Puppy_2.jpg","description":"Got nothing on me!","name":"Mr. Higgins","time":"2014-08-21T05:30:23+00:00"},"-JUr2O2inUQuepq9PdKv":{"avatar":"http://www.lifewithdogs.tv/wp-content/uploads/2014/03/3.21.14-National-Puppy-Day5.jpg","description":"Guys. Chill. We're all cute.","name":"Champ","time":"2014-08-21T05:32:35+00:00"}}}

Features

lists

mentors

  • listof names, availability, skills, company name
[
  {
    "name" : "John doe",
    "organization" : "company",
    "availability" : [["2014-09-21 18:30:11", "2014-09-21 18:40:11"]],
    "skills" : ["python", "java"]
  }
]
  • must be searchable by skills

schedule

  • talks
  • workshops
  • speakers
[
  {
    "type" : "event|workshop|talk|speaker|update",
    "speaker" : "Ariel Garten",
    "start_time" "2014-09-21 18:30:11",
    "end_time" "2014-09-21 19:30:11",
    "name" : "",
    "description": "",
    "location": ""
  }
]

prizes

  • api prizes
  • general
[
  {
  "name" : "",
  "prize" : ["x", "y"],
  "description" : "",
  "company" : "",
  "contact" : ""
  }
]

team

  • info for organizers
  • info for volunteers
[
{
  "name" : "",
  "role" : "transportation|organizer",
  "phone" : "",
  "twitter": "",
  "email" : "",
}
]
  • button to ping them from the app

notification feed

  • should go in the schedule

Firebase / timestamp

Hey everyone, I've added @moezbhatti to the test app firebase we're working with 1. LMK if you want to be added to it as well --- @sitefeng should probably want to have access to it. Can you send me your email in a reply / on facebook si te?

Kartik's made an awesome issue (see #8) about the format of the data. One thing to make sure to do is to format timestamps as ISO8601 compatible strings. @moezbhatti I'm sure you can google around to see how to generate some of these timestamps for testing---there's also definitely a way to generate them from Java Time. @sitefeng same for iOS / objc.

Guidelines changes

I made a few changes based on the design guidelines we have:

  • Actionbar and viewpager tab slider have new background colors based on the design guidelines
  • Actionbar title has the blown out title font
  • "Hack The North" -> "Hack the North"

Will post screenshots below

Avatar images in updates

I think the right way to do this would be to have an image field in each update that is one of 1) a URL to an image and 2) null which can indicate that we should use the default image.

What do you think, @sitefeng @moezbhatti?

busy week, sorry for no progress

hey guys. I've got a hugely busy week (one assignment due tmr, two wednesday, have to mark 25 assignments by wednesday, midterm on thursday). just wanted to leave a note to say that a lot of the tech that's left to implement has been on my mind, that I have a good idea of how to do notifications, and I'll get to as ASAP.

if @VicV or any other android devs we have want to do some work this week, ping me here and I'll post some of my ideas for what to do next. cheers

Getting started

Hey. Here are some of my thoughts for getting started on this project. This issue is in the Android repo but it applies to both platforms.

Design mocks

  • Do our designers have experience creating assets for mobile apps? Android in particular is a bit tricky since 3 or 4 different densities are required for each asset.
  • How are we going to manage mocks and assets?
    • I have used dropbox before to manage mocks / assets for mobile apps and it worked fairly well.
  • Once we get some ideas for how the app will be laid out / get some design mocks, we can get started building the app.

Data schema

Kartik and I talked about using Firebase as a service to host our data.

  • I've used the Java / Android Firebase API before, and it's really good --- we should use that
  • Does anybody have any concern with how well the free plan will scale if everybody at the hackathon is using our app all weekend?
    • Better idea: if we could get a sponsored unlimited plan for the purposes of the event we won't have to worry about this at all
  • Do we have any idea how the data will be laid out in Firebase?

IDE

  • I've only ever used Eclipse / ADT for developing Android apps, but if another contributor has a strong preference for Android Studio then we can go with that. :)

Scrollbar padding / margin

@moezbhatti

I think we're using margin on the list instead of padding. I think a combination of the two will help the scroll bar appear in the right place instead of too close to the cards.

(will attach a screenshot)

Figuring out the layout of each section

branched from #1 with @KartikTalwar

my thoughts:

  • Maybe we could do a Google hangouts with the designers just to get some broad strokes about how the app is going to look? If not with designers then with whoever's conception of the app is most valued at this point.
  • aside: I am lacking a scope of the contributors of this project, so I'm hesitant to make any decisions for fear of excluding other important opinions ---- who are all the contributors for this project? i.e. if it's just @KartikTalwar and me then we can move on just our opinions, but if not we should get other feedback

Notifications

branched from issue #1 with @KartikTalwar

Notifications are important and I haven't worked with them before. Does anyone have experience with them or does research need to be done?

thoughts:

  • Not sure if notifications would be coupled with Firebase at all
  • I'm not sure if we'll need some kind of simple backend server or something

New APK release feedback

  • The UI is really smooth - awesome!
  • Nice touch hexagon animations
  • I tried typing random letters on mentors search but it always returns a search result
    • How is a match being calculated?
    • can you remind me on what the search criteria is?
  • Can we have the gear logo with the htn text in the header bar (center aligned)
  • In the prizes section, can the Prizes heading be paragraphs as well (instead of bullets only)?
  • Can we see the team's contact info demo
  • wrt updates, I think the focus should be reversed. Currently the person who made the updates is bigger (font) than the message. It'll be literally just us posting messages so you'll keep seeing the first name. Can we take away all attention from the owner and make the actual post our focus.
  • Also realized that we need another sponsors section.
    • Can we add that tab and have the content be blank view
    • We can then put a url in firebase of the final sponsor montage (still confirming a few) and have it simply embed the image

Admin Repository

@KartikTalwar

We need another repo for admin tools like the script to issue updates. Not sure if it should be public or private, because there is an element of security involved in keeping the device notification IDs secret.

Sponser Page

The Sponser page is not optimized for the screen, zooming in also does not work.

Interacting with Firebase

branched from issue #1 with @KartikTalwar

  • unthrottled GET requests is pretty cool, and caching the data locally is cool
  • not sure yet how we'll tell the client when it needs to refresh
    • I'm still convinced that hacking automatic refreshing using GET requests from Firebase of all things is idiomatic :P
    • it could be simple though, like GET the data every 5 minutes and also when they pull to refresh and also whenever the view is loaded

Title page?

@moezbhatti

Implementing notifications requires that we register users' devices with registration IDs.

For now, we can just put it in MainActivity. However, I think it would be fun to have a pretty title screen because a) I know we can do a pretty title screen and b) it might be nice to have a place to do such initialization in a title screen activity.

If we have time, I think it might be fun to put descriptive initialization messages like:
"Registering your device with GCM for update notifications...OK"
"GET http://hackthenorth-app.firebaseio.com...OK"
"PUSH http://hackthenorth-app.firebaseio.com/devices/android...OK"
just because our audience might appreciate that :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.