• Save
Idazz .. with Ruby on Rails
Upcoming SlideShare
Loading in...5
×
 

Idazz .. with Ruby on Rails

on

  • 661 views

Networking based on Ideas and a unified research and collaboration portal

Networking based on Ideas and a unified research and collaboration portal

Statistics

Views

Total Views
661
Views on SlideShare
654
Embed Views
7

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 7

http://www.linkedin.com 7

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Idazz .. with Ruby on Rails Document Transcript

  • 1. CmpE 275 Fall 2009 Project 3 Ideazz.. (A networking website for Ideas) On RUBY ON RAILS Specifications Document Team Name: Ants Shivanshu Singh <shivanshukumar@gmail.com> 006488300 Dhaval Patel <dhaval2025@gmail.com> 006500481
  • 2. CONTENTS 1. Introduction to Ideazz.. 3 2. Ideazz: The Architecture & Specifications 3 2.1 Ideazz: Database 3 2.2 Ideazz: Model 4 2.3 Ideazz: Controller 5 2.4 Ideazz: View 5 2.5 Act As Authenticated 5 3. Ideazz.. : Features & A Tour 5 3.1 Welcome Page 5 3.2 Sign Up: 6 3.3 Cloud 7 3.4 Aggregation 7 3.5 Profiles 8 3.6 EXPLORE 8 3.7 PEOPLE 9 3.8 Idea 9 3.9 Search 10 3.10 My Ideazz.. 11 3.11 New Idea 11 4. Future Work 12 CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 2 of 12
  • 3. 1. Introduction to Ideazz.. Ideazz.. is a social networking website for ideas. The website is, supposedly, one of a kind and the niche of Ideazz is to be a collaboration platform, where collaboration platform support idea threads, where a user can publish his/her idea, and all the users can view the ideas, decide for its strength and weaknesses and post reponses accordingly with their comments. Ideazz also provides a profile management system, where every user can create a general profile and the user also has the capability to search ideas and others users based on keywords. The key feature in ideas is when a user goes on any random idea page, the page not only shows the idea and the responses but acts as a mash up page, mashing us results from services such as Google, Youtube, Google Blogs, Google Image, Google News, Twitter etc. These results are based on the idea, thus providing the users the ability to think and explore beyond what’s posted on the website. 2. Ideazz: The Architecture & Specifications Ideazz is completely built on ruby on rails. It has an MVC architecture, where there are various models, view and controllers. The sections below discuss each of these in detail. Before we get into that lets look into the database tables that we have used in this project 2.1 Ideazz: Database 1-> Table Users login, :string email, :string crypted_password, :string salt, :string created_at, :datetime updated_at, :datetime remember_token, :string remember_token_expires_at, :datetime 2-> Table UserData user_id :integer first_name :string last_name :string gender :string email :string profile_pic_urr :string occupation :string, hobbies :string web :string company :string city :string state :string zip_code :string 3-> Table Idea title :string preview, :string body, :string CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 3 of 12
  • 4. owner_login, :string updated_at, :datetime 4-> Table IdeaPost idea_id :integer body, :string owner_login, :string created_at, :datetime Table user and user data has been kept separate. User table stores the login information of the user and table UserData stores the profile information and every information of user is mapped to their respective userdata. Table idea is responsible for storing Idea and IdeaPost stores the responses and every idea is mapped to their respective idea posts. 2.2 Ideazz: Model This section will list out all the model created in the project and the functions that each model has. Every table in the database corresponds to to a mdel in this section. The models are also responsible for validations before saving the entry in the database. When the validation does not pass the user is prompted to change the value of that field and then try again. List of models User UserData Idea IdeaPost CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 4 of 12
  • 5. 2.3 Ideazz: Controller There is a controller for each model and there is an extra controller called as Profile. Profile controller is responsible for contacting UserData model and display the result on the view. But when the user desires to update the profile, in that case the UserData controller is in action. The reason for this split of functions across two controllers, is from the future point of view to modify the profile page to show more than just the UserData. We might in future include feeds and decide to show the user his profiles from other services as well. We might include a photo album and concatenate them too in the profile controller to give the user an overall view to his/her profile User also has the ability to view other members’ profiles as well, the view of the other profiles are similar to the personal profile, the view of the profile has been kept uniform.   2.4 Ideazz: View In view we have not written a general CSS file or used the application.html.erb file, in order to define a general view. Not doing it definitely increased our work but at the same time it gave us the flexibility to change the view according to our needs on every page. This we believe gave us more flexibility, ergo we created a more user friendly and navigation able UI. For any idea, we have the various responses that people post for that idea and more importantly a research portal which aggregates the web searches on the idea, blog searcges, videos, images etc. This is so that the people participating in the discussion o not just comment but make an informed and intelligent comment. 2.5 Act As Authenticated We have used act as authenticated plugin for user login and authentication. Using a plugin for user login gave us more time to concentrate on other features of the wed. The plugin uses SHA encryption for passwords and therefore we can say that it is reasonably secure. 3. Ideazz.. : Features & A Tour 3.1 Welcome Page CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 5 of 12
  • 6. 3.2 Sign Up: CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 6 of 12
  • 7. 3.3 Cloud While developing this project, we have realized Web 2.0 and tried to extend that to a concept. We like to call it Web 2.1. The entire project does not save anything else except for test rest is all out there on the cloud, e.g. images etc. 3.4 Aggregation The application provides an aggragation of various kinds of content from the internet, for the idea in question. It includes web search, images, videos, blogs, wikipedia and twitter. CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 7 of 12
  • 8. 3.5 Profiles People can create their custom profiles and edit their data. This is helpful for other to connect and collaborate with fellow members. 3.6 EXPLORE This section of the application lists all the ideas out there so that people can search and view what is it that others are thinking about. CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 8 of 12
  • 9. 3.7 PEOPLE This section of the application lists all the members so that people can search and view the profiles of fellow members. 3.8 Idea Every idea can be viewed and along with it anyone can see whatever responses people have given for it. CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 9 of 12
  • 10. Along with this comes the web aggregation feature that we talked about earlier. 3.9 Search Ideas: People can search for ideas out there. The search is done based on keywords and it searchs the titles and descriptions of ideas to see of there is anything relevant out there. People: People can also search for other people, based on keywords and the first name and last name are scanned for keywords. CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 10 of 12
  • 11. 3.10 My Ideazz.. People can see their own ideas that they posted here.   3.11 New Idea CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 11 of 12
  • 12.   4. Future Work This project proved to be a nice starting point for us to learn ruby on rails. We tried to do as much as we could in the limited amount of time; however, a lot of things remain for future work. For example, we currently have the web searches being done on the client side. While this is beneficial as this reduces the server’s process and hence faster response time, we cannot cache these results. So, we can do some of this on the server side and cache those results to balance this out. Moreover, we can also have a search functionality to mine the internal ideazz database and aggregate this content as well to the content aggregation feature as well. Also, we can have groups for a more closely knitted and private idea development. Also, user can have the choice of making an idea public or private. We can also have a module to generate advertisements about ideas and maybe other plans that users define on top of bare ideas. These advertisements can be fed to an advertising service and people can probably generate venture capital money to maybe take the idea forward into something real. CmpE 275 Fall 2009 | Project 3 – Ideazz.. | Team: Ants | 2009 copyright © - Shivanshu Singh & Dhaval Patel Pg 12 of 12