saxifrage / cityasacampus

An open-source platform for connecting and showcasing resources within local learning communities.
http://cityasacampus.org/
5 stars 4 forks source link

Add Orgs, Opportunity, and Opportunity_Instance to DB #30

Closed timothyfcook closed 9 years ago

timothyfcook commented 9 years ago

Start with:

timothyfcook commented 9 years ago

Here's a link to Heroku page: https://dashboard.heroku.com/apps/learnpgh/ ...set you up as a collaborator.

MatthewVita commented 9 years ago

so I did a bit of exploring about Ruby DB libraries and seems like the community really likes DataMapper. It can be used in RoR or Sinatra too.

Can you help me define the keys/types here:

https://github.com/saxifrage/city-as-campus/blob/18b21c2ee75f3a573cdf49908b978efd85415591/server/organizations/OrganizationsModel.rb

justinxreese commented 9 years ago

Rails has a built in ORM On sáb, mar 21, 2015 at 8:30 PM Matthew Vita notifications@github.com wrote:

so I did a bit of exploring about Ruby DB libraries and seems like the community really likes DataMapper. It can be used in RoR or Sinatra too.

Can you help me define the keys/types here:

https://github.com/saxifrage/city-as-campus/blob/18b21c2ee75f3a573cdf49908b978efd85415591/server/organizations/OrganizationsModel.rb

— Reply to this email directly or view it on GitHub https://github.com/saxifrage/learn/issues/30#issuecomment-84482023.

MatthewVita commented 9 years ago

Yeah, I'm not really a Ruby person quite yet but I do use Ruby Sinatra clones in other languages (Express for Node, Spark for Java, and Flask for Python) quite a lot. If you really think that RoR is more suitable than Sinatra for this project, I'll take your word for it!

timothyfcook commented 9 years ago

@justinxreese would it be helpful for @matthewvita to help build up the data-model here: https://github.com/saxifrage/learn/tree/master/db ? He's got some time to help out this weekend. Once you decide on a home for the DB, I can help by adding in the data-types.

justinxreese commented 9 years ago

That is only a small portion of what it takes to add a model correctly. You can see a full commit here where I added opportunity instances. https://github.com/saxifrage/learn/commit/6349516dc0a628152663726ba6803120012fd1df

Adding new models is a pretty easy task for me and I'd prefer the help on the front end.

On Sat, Mar 21, 2015 at 8:44 PM Tim Cook notifications@github.com wrote:

@justinxreese https://github.com/justinxreese would it be helpful for @matthewvita https://github.com/matthewvita to help build up the data-model here: https://github.com/saxifrage/learn/tree/master/db ?

— Reply to this email directly or view it on GitHub https://github.com/saxifrage/learn/issues/30#issuecomment-84482414.

timothyfcook commented 9 years ago

Shared the original data-model sketch in #16 but will work on something more specific to our current sprints. A lot of that model is not needed right now.

MatthewVita commented 9 years ago

:+1:

justinxreese commented 9 years ago

They're all in there now. Just a matter of making it look okay.

timothyfcook commented 9 years ago

Excellent. I'm going to work on a set of JSON objects to give you to finalize all the data-types per #16 ....I'll be referencing the City of Learning API so that we can match up with that down the road: http://www.col-engine-staging.com/apipie/1.0/scheduled_programs.html

Sound good? Or is a different format helpful?

MatthewVita commented 9 years ago

btw, do we need to support a development test data mode, @timothyfcook @justinxreese ?

For example, we can use http://ruby-doc.org/stdlib-2.2.0/libdoc/optparse/rdoc/OptionParser.html so if rails server --use_test_data=true is issued, then predefined test data is served. (Forgive me if you can't supply args at the rails server level and need to set env vars elsewhere... I'm a rails newbie).

justinxreese commented 9 years ago

it's all environment based. Whatever you create in dev will exist in dev. Same for prod and test. We can eventually make some seed data to make the app look nice. You can read up on how rails handles seed data here https://codedecoder.wordpress.com/2013/04/25/rake-db-seed-in-rails/ or here http://www.xyzpub.com/en/ruby-on-rails/3.2/seed_rb.html although I forget if using the db/seed file is in favor or has fallen out. Need to look into it later.

MatthewVita commented 9 years ago

@justinxreese seed data is precisely what I'm referring to here, thank you for the link!

I would argue that seed data is more than just "making the app look nice" as it give the app some initial context when installed locally. Plus it's necessary if we're doing integration tests. I think I saw you had some unit tests in place but are we also doing integration tests for this app?

justinxreese commented 9 years ago

I haven't test driven anything so far, but definitely will add some integration tests very soon. The unit tests are largely just things rails added for me. For integration tests, I likely wouldn't be using seed data, but will be doing full start to finish tests.

On Mon, Mar 23, 2015 at 1:40 PM Matthew Vita notifications@github.com wrote:

@justinxreese https://github.com/justinxreese seed data is precisely what I'm referring to here, thank you for the link!

I would argue that seed data is more than just "making the app look nice" as it give the app some context when installed locally. Plus it's necessary if we're doing integration tests. I think I saw you had some unit tests in place but are we also doing integration tests for this app?

— Reply to this email directly or view it on GitHub https://github.com/saxifrage/learn/issues/30#issuecomment-85119874.

MatthewVita commented 9 years ago

:+1: