An Agile development for collaborative moment sharing system
Santosh Kumar S 06241F0041
Agenda • Introduction • Existing System • Proposed System • Modules • System environment • System Design • Implementation • Conclusion 06/29/09
2
Introduction • Based on the idea of “You Over Time”. • Lets user , create a digital reflection of life & search across timeline. • Social Networking System. • Throws light on personal lives.
Existing System • Web based Communities. • Share interests & activities. • Uni feature specific systems. Won’t concentrate much on personal lives.
06/29/09
4
Proposed System • Makes user to involve in the system more than ever. • Captivating the moments of life with complete digital reflection. • Beautiful stories, media files are combined and published by all users. 06/29/09
5
Modules • Registration & Login. • Profile Creation & Updating. • Moment Creation , Updating & Deletion. • Tagging Moments. • Comment Writing for Moments. • Sharing Moments. • Categorizing Moments.
06/29/09
6
Block Diagram
06/29/09
7
System Environment • Ruby Language • Rails Framework • Mongrel Server • MySQL database • Aptana Studio IDE • Selenium for Testing 06/29/09
8
Ruby + Ruby on Rails • Ruby is compared with clay and rails, with pot wheel. • Rails provide a good platform to Ruby to develop rich and efficient web applications.
06/29/09
9
Architecture of Rails Application
06/29/09
10
Internal Database Architecture
06/29/09
11
Application Structure of ROR
06/29/09
12
Database Schema
06/29/09
13
System Design
06/29/09
14
Use Case Diagram for system
06/29/09
15
CMSS - Activity
06/29/09
Complete UML
16
Implementation Plugins used 1. 2. 3. 4.
attachment_fu acts_as_taggable acts_as_commentable tiny_mce
Gem used mini_magick 06/29/09
17
Controller Code
06/29/09
18
Model Code
06/29/09
19
View Code
<%= flash[:notice]%> <%= error_messages_for :user %> <% remote_form_for :user, :url=>{ :controller => :users,:action => :register },:update=>'MB_frame' do |form| %>
<%= form.label :email %> | <%= form.text_field :email ,:tabindex => "1" %> |
<%= form.label :password %> | <%= form.password_field :password , :tabindex => "2" %> |
Confirm Password: | <%=form.password_field :password_confirmation, :tabindex => "3"%> |
I Agree: | <%=form.check_box "terms_of_service", :tabindex => "4"%>I have also read and agree to the Terms of Service. |
<%= form.submit 'SignUp' %>
<% end %>
06/29/09
20
Sample Screenshot
06/29/09
Complete Screens
21
Testing •
Unit Testing 1. Model level 2. Basic validations & syntax errors
•
Functional Testing • • •
Application level Business logic & Functionality Selenium IDE
06/29/09
22
Conclusion •
Frequent updates are possible because RoR is bleeding technology.
•
GUI can be further be developed.
•
It can be further developed into a separate, automated system.
06/29/09
23
Thank You
06/29/09
24
Testing with Selenium IDE • Selenium IDE is implemented as a Firefox extension, and allows recording, editing, and debugging tests. • Scripts may be automatically recorded and edited manually providing autocompletion support and the ability to move commands around quickly. 06/29/09
25
Agile Software Development A group of software development methodologies
•
A leadership philosophy that encourages team work.
•
self-organization and accountability.
•
satisfy the customer through early and continuous delivery of valuable software.
06/29/09
26