SlideShare a Scribd company logo
1 of 38
Simple Social Networking With Ruby on Rails ,[object Object],[object Object],[object Object]
Look, Ma! I’m on the Internets! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple Social Networking With Rails ,[object Object],[object Object],[object Object],[object Object]
What is a social network? ,[object Object],[object Object],[object Object]
What is a social network? ,[object Object],[object Object],[object Object],[object Object]
What is a social network? http://www.flickr.com/photos/vj_pdx/144902289/
What is a social network? ,[object Object],[object Object],[object Object],[object Object]
Why build a social network? ,[object Object],[object Object],[object Object]
Why build a social network? ,[object Object],[object Object],[object Object],[object Object]
Why build a social network? ,[object Object],[object Object]
Why build a social network? ,[object Object],[object Object],[object Object],[object Object],[object Object]
How do you build a social network? ,[object Object],[object Object],[object Object],[object Object],[object Object]
How do you build a social network? ,[object Object],[object Object],[object Object],[object Object]
Pre-Fab vs. Home Cookin' ,[object Object],[object Object],[object Object],[object Object]
Home Cookin' - Example Relationship Text create_table  :connections   do  | t |   t.integer  :person_id   t.integer  :contact_id   t.integer  :status   t.timestamp  :accepted_at   t.timestamps   end Insoshi's connections migrations:
Home Cookin' - Example Relationship create_table  :friendships   do  | t |   t.integer  "user_id" ,  :null  =>  false   t.integer  "friend_id" ,  :null  =>  false   t.datetime  "created_at"     t.datetime  "updated_at"     t.timestamps end Daniel Fischer’s “Fischy friends” example:
Home Cookin' ,[object Object],[object Object],[object Object],[object Object]
Pre-Fabricated ,[object Object],[object Object]
Pre-Fabricated ,[object Object],[object Object],[object Object],[object Object]
Enter Insoshi ,[object Object],[object Object],[object Object],[object Object]
Inshtalling Insoshi ,[object Object],[object Object],[object Object],[object Object]
Building on top of Insoshi ,[object Object],[object Object],[object Object],[object Object]
Example App - MyEventCarbon ,[object Object],[object Object],[object Object],[object Object]
Example App - MyEventCarbon ,[object Object],[object Object],[object Object]
Example App - MyEventCarbon ,[object Object],[object Object],[object Object],[object Object]
Example App - MyEventCarbon
Example App - MyEventCarbon
Example App - MyEventCarbon
Example App - MyEventCarbon
Example App - MyEventCarbon create_table  "event_attendees" ,  :force  =>  true   do  | t |   t.integer  "person_id"   t.integer  "event_id"   t.string  "origin"   t.string  "distance"   t.string  "carbon"   end schema.rb
Example App - MyEventCarbon belongs_to  :person   has_many  :event_attendees   has_many  :attendees ,  :through  =>  :event_attendees ,  :source  =>  :person ,  :select  =>  "event_attendees.origin, event_attendees.distance, event_attendees.carbon, people.*" app/models/event.rb
Example App - MyEventCarbon ,[object Object],[object Object],[object Object]
Example App - MyEventCarbon create_table  "communications" ,  :force  =>  true   do  | t |   t.string  "subject"   t.text  "content"   t.integer  "parent_id"   t.integer  "sender_id"   t.integer  "recipient_id"   t.datetime  "sender_deleted_at"   t.datetime  "sender_read_at"   t.datetime  "recipient_deleted_at"   t.datetime  "recipient_read_at"   t.datetime  "replied_at"   t.string  "type"   t.datetime  "created_at"   t.datetime  "updated_at"   t.integer  "conversation_id"   end You could modify an existing model: ... but that could impact other parts of the system.
Example App - MyEventCarbon class   CreateCarpools   < ActiveRecord::Migration   def   self.up   create_table  :carpools   do  | t |   t.integer  :person_id   t.integer  :contact_id   t.integer  :event_id   t.integer  :status   t.timestamp  :accepted_at   t.timestamps   end A new table might be more appropriate: Duplicate the connections table, add an event_id and whatever other fields as needed.
Example App - MyEventCarbon ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Moving forward ,[object Object],[object Object],[object Object]
Sourced/Resourced ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thanks [email_address] http://greengalosh es.cc

More Related Content

What's hot (15)

Personal Learning Networks
Personal Learning NetworksPersonal Learning Networks
Personal Learning Networks
 
Deep-Hidden-Invisible Web
Deep-Hidden-Invisible WebDeep-Hidden-Invisible Web
Deep-Hidden-Invisible Web
 
Long range planning 2013
Long range planning 2013Long range planning 2013
Long range planning 2013
 
PMUG: 2.0 Productivity Tools
PMUG: 2.0 Productivity ToolsPMUG: 2.0 Productivity Tools
PMUG: 2.0 Productivity Tools
 
Nevada Library Association -- Freebies
Nevada Library Association -- FreebiesNevada Library Association -- Freebies
Nevada Library Association -- Freebies
 
Open for Learning
Open for LearningOpen for Learning
Open for Learning
 
Sdsd
SdsdSdsd
Sdsd
 
Better Blackboard Help: Where your users need it, when they want it.
Better Blackboard Help: Where your users need it, when they want it.Better Blackboard Help: Where your users need it, when they want it.
Better Blackboard Help: Where your users need it, when they want it.
 
Softwarepowerpoint
SoftwarepowerpointSoftwarepowerpoint
Softwarepowerpoint
 
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
Hungarian Web Conference: HTML5 beyond the hype - let's make it work!
 
Web 2 Whats In Your Basket
Web 2 Whats In Your BasketWeb 2 Whats In Your Basket
Web 2 Whats In Your Basket
 
Andy McGregor, JISC
Andy McGregor, JISCAndy McGregor, JISC
Andy McGregor, JISC
 
The duck soup link building guide
The duck soup link building guideThe duck soup link building guide
The duck soup link building guide
 
Footprints for backlinks - Find quality backlinks in minutes
Footprints for backlinks - Find quality backlinks in minutesFootprints for backlinks - Find quality backlinks in minutes
Footprints for backlinks - Find quality backlinks in minutes
 
Joomla!, The Future, and You
Joomla!, The Future, and YouJoomla!, The Future, and You
Joomla!, The Future, and You
 

Viewers also liked

The 21st-Century Library
The 21st-Century LibraryThe 21st-Century Library
The 21st-Century LibraryK.G. Schneider
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on RailsAvi Kedar
 
Implementing quality in Java projects
Implementing quality in Java projectsImplementing quality in Java projects
Implementing quality in Java projectsVincent Massol
 
Wed Development on Rails
Wed Development on RailsWed Development on Rails
Wed Development on RailsJames Gray
 
Rapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsRapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsSimobo
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with RailsYi-Ting Cheng
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.netSanket Jagare
 
Web Design Project Report
Web Design Project ReportWeb Design Project Report
Web Design Project ReportMJ Ferdous
 
47533870 final-project-report
47533870 final-project-report47533870 final-project-report
47533870 final-project-reportMohammed Meraj
 

Viewers also liked (12)

The 21st-Century Library
The 21st-Century LibraryThe 21st-Century Library
The 21st-Century Library
 
Web Development using Ruby on Rails
Web Development using Ruby on RailsWeb Development using Ruby on Rails
Web Development using Ruby on Rails
 
Implementing quality in Java projects
Implementing quality in Java projectsImplementing quality in Java projects
Implementing quality in Java projects
 
Wed Development on Rails
Wed Development on RailsWed Development on Rails
Wed Development on Rails
 
Rapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on RailsRapid Application Development using Ruby on Rails
Rapid Application Development using Ruby on Rails
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
Web Design Project Report
Web Design Project ReportWeb Design Project Report
Web Design Project Report
 
47533870 final-project-report
47533870 final-project-report47533870 final-project-report
47533870 final-project-report
 
Atm System
Atm SystemAtm System
Atm System
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Similar to Simple Social Networking with Ruby on Rails

Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdatePatrick Chanezon
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesRoy Pereira
 
User Experience Bootcamp for Developers
User Experience Bootcamp for DevelopersUser Experience Bootcamp for Developers
User Experience Bootcamp for DevelopersCatherine Robson
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesJonathan LeBlanc
 
Martin bazley Creating effective content 15 Mar 11
Martin bazley Creating effective content 15 Mar 11Martin bazley Creating effective content 15 Mar 11
Martin bazley Creating effective content 15 Mar 11Martin Bazley
 
Martin Bazley - using simple technologies with different audiences (reduced f...
Martin Bazley - using simple technologies with different audiences (reduced f...Martin Bazley - using simple technologies with different audiences (reduced f...
Martin Bazley - using simple technologies with different audiences (reduced f...Martin Bazley
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdateGoodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdatePatrick Chanezon
 
Developer connect - microservices
Developer connect - microservicesDeveloper connect - microservices
Developer connect - microservicesAnton McConville
 
Chapter 12 – case study cloudworks
Chapter 12 – case study cloudworksChapter 12 – case study cloudworks
Chapter 12 – case study cloudworksgrainne
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web AppJason Grigsby
 
Ites Scratch Software Review
Ites Scratch Software ReviewItes Scratch Software Review
Ites Scratch Software ReviewCM Ites
 
User Research on a Shoestring
User Research on a ShoestringUser Research on a Shoestring
User Research on a Shoestringteaguese
 
Civic Commons: NAGW 2011 Lightning Round
Civic Commons: NAGW 2011 Lightning RoundCivic Commons: NAGW 2011 Lightning Round
Civic Commons: NAGW 2011 Lightning Roundcivcoms
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)patrick.t.joyce
 
Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008coniecto
 
Writing & Editing Week 7
Writing & Editing Week 7Writing & Editing Week 7
Writing & Editing Week 7Sarah Stokely
 
USG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionUSG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionEric Sembrat
 
[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial containerBipin Upadhyay
 

Similar to Simple Social Networking with Ruby on Rails (20)

Goodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social UpdateGoodle Developer Days Munich 2008 - Open Social Update
Goodle Developer Days Munich 2008 - Open Social Update
 
Shiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development GuidelinesShiny Agency's Facebook Development Guidelines
Shiny Agency's Facebook Development Guidelines
 
User Experience Bootcamp for Developers
User Experience Bootcamp for DevelopersUser Experience Bootcamp for Developers
User Experience Bootcamp for Developers
 
Top 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and SitesTop 5 Tips for Building Viral Social Web Applications and Sites
Top 5 Tips for Building Viral Social Web Applications and Sites
 
Hacking For Innovation
Hacking For InnovationHacking For Innovation
Hacking For Innovation
 
Martin bazley Creating effective content 15 Mar 11
Martin bazley Creating effective content 15 Mar 11Martin bazley Creating effective content 15 Mar 11
Martin bazley Creating effective content 15 Mar 11
 
Martin Bazley - using simple technologies with different audiences (reduced f...
Martin Bazley - using simple technologies with different audiences (reduced f...Martin Bazley - using simple technologies with different audiences (reduced f...
Martin Bazley - using simple technologies with different audiences (reduced f...
 
Goodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social UpdateGoodle Developer Days London 2008 - Open Social Update
Goodle Developer Days London 2008 - Open Social Update
 
Developer connect - microservices
Developer connect - microservicesDeveloper connect - microservices
Developer connect - microservices
 
Chapter 12 – case study cloudworks
Chapter 12 – case study cloudworksChapter 12 – case study cloudworks
Chapter 12 – case study cloudworks
 
Planning Your Progressive Web App
Planning Your Progressive Web AppPlanning Your Progressive Web App
Planning Your Progressive Web App
 
Ites Scratch Software Review
Ites Scratch Software ReviewItes Scratch Software Review
Ites Scratch Software Review
 
User Research on a Shoestring
User Research on a ShoestringUser Research on a Shoestring
User Research on a Shoestring
 
Civic Commons: NAGW 2011 Lightning Round
Civic Commons: NAGW 2011 Lightning RoundCivic Commons: NAGW 2011 Lightning Round
Civic Commons: NAGW 2011 Lightning Round
 
Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)Techniques For A Modern Web UI (With Notes)
Techniques For A Modern Web UI (With Notes)
 
Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008
 
Writing & Editing Week 7
Writing & Editing Week 7Writing & Editing Week 7
Writing & Editing Week 7
 
USG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel VisionUSG Web Tech Day 2017 - CMS Tunnel Vision
USG Web Tech Day 2017 - CMS Tunnel Vision
 
Tp200910
Tp200910Tp200910
Tp200910
 
[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container[Phpcamp]Shindig An OpenSocial container
[Phpcamp]Shindig An OpenSocial container
 

Recently uploaded

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Simple Social Networking with Ruby on Rails

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. What is a social network? http://www.flickr.com/photos/vj_pdx/144902289/
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Home Cookin' - Example Relationship Text create_table :connections do | t | t.integer :person_id t.integer :contact_id t.integer :status t.timestamp :accepted_at t.timestamps end Insoshi's connections migrations:
  • 16. Home Cookin' - Example Relationship create_table :friendships do | t | t.integer &quot;user_id&quot; , :null => false t.integer &quot;friend_id&quot; , :null => false t.datetime &quot;created_at&quot; t.datetime &quot;updated_at&quot; t.timestamps end Daniel Fischer’s “Fischy friends” example:
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Example App - MyEventCarbon
  • 27. Example App - MyEventCarbon
  • 28. Example App - MyEventCarbon
  • 29. Example App - MyEventCarbon
  • 30. Example App - MyEventCarbon create_table &quot;event_attendees&quot; , :force => true do | t | t.integer &quot;person_id&quot; t.integer &quot;event_id&quot; t.string &quot;origin&quot; t.string &quot;distance&quot; t.string &quot;carbon&quot; end schema.rb
  • 31. Example App - MyEventCarbon belongs_to :person has_many :event_attendees has_many :attendees , :through => :event_attendees , :source => :person , :select => &quot;event_attendees.origin, event_attendees.distance, event_attendees.carbon, people.*&quot; app/models/event.rb
  • 32.
  • 33. Example App - MyEventCarbon create_table &quot;communications&quot; , :force => true do | t | t.string &quot;subject&quot; t.text &quot;content&quot; t.integer &quot;parent_id&quot; t.integer &quot;sender_id&quot; t.integer &quot;recipient_id&quot; t.datetime &quot;sender_deleted_at&quot; t.datetime &quot;sender_read_at&quot; t.datetime &quot;recipient_deleted_at&quot; t.datetime &quot;recipient_read_at&quot; t.datetime &quot;replied_at&quot; t.string &quot;type&quot; t.datetime &quot;created_at&quot; t.datetime &quot;updated_at&quot; t.integer &quot;conversation_id&quot; end You could modify an existing model: ... but that could impact other parts of the system.
  • 34. Example App - MyEventCarbon class CreateCarpools < ActiveRecord::Migration def self.up create_table :carpools do | t | t.integer :person_id t.integer :contact_id t.integer :event_id t.integer :status t.timestamp :accepted_at t.timestamps end A new table might be more appropriate: Duplicate the connections table, add an event_id and whatever other fields as needed.
  • 35.
  • 36.
  • 37.

Editor's Notes

  1. * application manager (bb, univ. vermont) * developer (php, etc, rails in the past year)