SlideShare a Scribd company logo
Putting together the pieces of a web app
         (http://bit.ly/shouldicode)
It’s easy to get confused about how
to build a web app
It’s easy to get confused about how
to build a web app
But it
shouldn’t be
There’s so much to learn?
   PHP       .net
                               Codeignitor
                    Java                     Javascript
          Ruby
                     CakePHP       Node.js
                                             Sinatra
  Rails




           Python              Django

          See: www.bestwebframeworks.com
Your choice of programming language could
        affect your circle of friends
Layout the site

                   User             User          User pins
                   registration     profiles




                    Main feed       Commenting    Categories




                                       ‘Repin’      ‘Follow’
                       ‘Like’




Voices.com                        pinterest.com
Wireframing
      • Draw out 4 pages (make copies)

      • Each ‘activity’ on the site should be
        completed in no more than 4 steps
Wireframing
      E.g. Layout the profile page

      • Where everything should be
      • How to share files
      • What options users should have
        (Download audio files, create / edit /
        delete jobs)
Wireframing
      E.g. Searching for voice talent

      •   Where everything should be
      •   What fields? – Affects models
      •   How to display data
      •   What user should do with the data




      See:
      http://blogs.voices.com/thebiz/2006/09/
      web20_sketch_to_screenshot.html

      Or http://bit.ly/wireframevoices
Wireframing (.PSD)
            Design the first user experience
            (or blank state)

            • What can the user do before
              they sign up?
            • What to show with no user
              data?



             Read:
             http://37signals.com/svn/archive
             s/000578.php

             Or http://bit.ly/37signalsblank
Wireframing (.PSD)
            Think about how you present data

            •   Masonry style
            •   Unlimited scrolling / pagination
            •   Customized content
            •   Jquery/HTML5
Wireframing (.PSD)
            Think about how you present data

            •   Think about actions
            •   Same page/ New page
            •   What data to show
            •   Fixed columns
            •   Scrolling
Test Test Test
Get out of the building




Cold calling    Meet people   Find collaborators
What is Model View Controller (MVC)




From: http://www.moock.org/lectures/mvc/
For Rails: http://betterexplained.com/articles/intermediate-rails-understanding-
models-views-and-controllers/ (or http://bit.ly/railsmvc )
Planning your database schema
Planning your database schema
• Tables should represent real world things / events
  (user, invoice, books, follow, friend, message, comment)

• Primary key (a column that contains unique values in a table – no dupes)
  (UserId, CommentId, UniqueURL) – can’t change (usually whole number)

• Foreign keys (denote relationships)
  (one-to-one, one-to-many, many-to-many)




 Overview of designing your schema
 http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabas
 eDesign.aspx or http://bit.ly/dbschema
What is an app?
 (May be Django Specific)


                 • Avoid monolithic design
                 • A simple app has 12
                   installed apps
Use admin systems to CRUD data
                     The beauty of Django is that
                     early in the process, you can
                     easily set up an admin
                     system to start adding data.

                     Helps you show your app is
                     live and growing, albeit
                     manually.
Defining Model Methods
• Is associated with behaviors
  – Is Chilean?
    (Address is in Chile, IP is in Chile, Geographic
    coordinates in Chile)
  – Is Mike_Arrington?
    (FirstName + LastName = Mike Arrington)
  – AllUserPins
    (Find all pins by UserId)
  – Is Paid User?
    (last successful invoicing date = this.month)
View fields
•   Templates (nesting)
•   Multiple views (blocks of content)
•   Not just Http (json, pdf, xml, csv…)
•   Forms
Focus on
•   Flexibility not Scalability
•   User experience not flashy elements
•   Reusability not specificity
•   Functionality not perfect code
•   MVP not full feature sets
Read about

• Responsive design
• Lean UX
• Agile development
This presentation was given to a group of participants from
Startup Chile.
                                                                   Ryan Lou
                                                                  Ryan@krawst.com
To apply: Go to http://bit.ly/applysup
                                                              Read: www.Validating.it

More Related Content

What's hot

jQuery for Drupal
jQuery for DrupaljQuery for Drupal
jQuery for Drupal
jhamiltoorion
 
GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
Kayla Leung
 
I Blog, You Blog, Weblog
I Blog, You Blog, WeblogI Blog, You Blog, Weblog
I Blog, You Blog, Weblog
Michael Sauers
 
Visual_Resume
Visual_ResumeVisual_Resume
Visual_Resume
Heather Rowe
 
a11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developersa11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developers
Monika Piotrowicz
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Emily Lewis
 
WordPress: A Designer's CMS
WordPress: A Designer's CMSWordPress: A Designer's CMS
WordPress: A Designer's CMS
Chelsea Otakan
 
Wheel.js
Wheel.jsWheel.js
Wheel.js
baccigalupi
 
Web design v roku 2013
Web design v roku 2013Web design v roku 2013
Web design v roku 2013
vibration.sk
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal Webcast
Jeff Eaton
 
Zurb foundation
Zurb foundationZurb foundation
Zurb foundation
sean_todd
 
Hammersmith fundamentals html fundamentals
Hammersmith fundamentals   html fundamentalsHammersmith fundamentals   html fundamentals
Hammersmith fundamentals html fundamentals
Mike Bradshaw
 
Wireframing basics may 2012
Wireframing basics may 2012Wireframing basics may 2012
Wireframing basics may 2012
Meaghan Barbin
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Jer Clarke
 
Responsive Design Overview for UB CIT
Responsive Design Overview for UB CITResponsive Design Overview for UB CIT
Responsive Design Overview for UB CIT
Adrian Roselli
 
Mul-ti-site!
Mul-ti-site!Mul-ti-site!
Mul-ti-site!
Denise (Dee) Teal
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
themystic_ca
 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can build
Monika Piotrowicz
 

What's hot (18)

jQuery for Drupal
jQuery for DrupaljQuery for Drupal
jQuery for Drupal
 
GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
 
I Blog, You Blog, Weblog
I Blog, You Blog, WeblogI Blog, You Blog, Weblog
I Blog, You Blog, Weblog
 
Visual_Resume
Visual_ResumeVisual_Resume
Visual_Resume
 
a11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developersa11yTO - Web Accessibility for Developers
a11yTO - Web Accessibility for Developers
 
Microformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic WebMicroformats or: How I Learned to Write POSH and Love the Semantic Web
Microformats or: How I Learned to Write POSH and Love the Semantic Web
 
WordPress: A Designer's CMS
WordPress: A Designer's CMSWordPress: A Designer's CMS
WordPress: A Designer's CMS
 
Wheel.js
Wheel.jsWheel.js
Wheel.js
 
Web design v roku 2013
Web design v roku 2013Web design v roku 2013
Web design v roku 2013
 
O'Reilly Drupal Webcast
O'Reilly Drupal WebcastO'Reilly Drupal Webcast
O'Reilly Drupal Webcast
 
Zurb foundation
Zurb foundationZurb foundation
Zurb foundation
 
Hammersmith fundamentals html fundamentals
Hammersmith fundamentals   html fundamentalsHammersmith fundamentals   html fundamentals
Hammersmith fundamentals html fundamentals
 
Wireframing basics may 2012
Wireframing basics may 2012Wireframing basics may 2012
Wireframing basics may 2012
 
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo MashupPut A Map On It! Enhanced geolocation in WordPress with Geo Mashup
Put A Map On It! Enhanced geolocation in WordPress with Geo Mashup
 
Responsive Design Overview for UB CIT
Responsive Design Overview for UB CITResponsive Design Overview for UB CIT
Responsive Design Overview for UB CIT
 
Mul-ti-site!
Mul-ti-site!Mul-ti-site!
Mul-ti-site!
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
 
Web Accessibility - A feature you can build
Web Accessibility - A feature you can buildWeb Accessibility - A feature you can build
Web Accessibility - A feature you can build
 

Similar to Putting together a web app

Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Jeremy Likness
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
Mihail Mateev
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
Jeanho Chu
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
Mark Rackley
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
Mark Rackley
 
Mini training- Scenario Driven Design
Mini training- Scenario Driven DesignMini training- Scenario Driven Design
Mini training- Scenario Driven Design
Betclic Everest Group Tech Team
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
Oursky
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
NishchaiyaBayla1
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
Shane Morris
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
Gravityboi
 
Introduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentIntroduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web Development
Qurinom Solutions
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
Marc D Anderson
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
Ram G Athreya
 
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience DiscussionBranding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Marcy Kellar
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
DhrubaJyoti Dey
 
Publishing API documentation -- Presentation
Publishing API documentation -- PresentationPublishing API documentation -- Presentation
Publishing API documentation -- Presentation
Tom Johnson
 
Gettings started with Web development
Gettings started with Web developmentGettings started with Web development
Gettings started with Web development
Ujjwal Ojha
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
chalamaiah thiruveedhi
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
butest
 

Similar to Putting together a web app (20)

Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
Wintellect - Devscovery - Enterprise JavaScript Development 2 of 2
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Week01 jan19 introductionto_php
Week01 jan19 introductionto_phpWeek01 jan19 introductionto_php
Week01 jan19 introductionto_php
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Mini training- Scenario Driven Design
Mini training- Scenario Driven DesignMini training- Scenario Driven Design
Mini training- Scenario Driven Design
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Training presentation.pptx
Training presentation.pptxTraining presentation.pptx
Training presentation.pptx
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
Presentation 1.pptx
Presentation 1.pptxPresentation 1.pptx
Presentation 1.pptx
 
Introduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web DevelopmentIntroduction to HTML, CSS, and JavaScript for Web Development
Introduction to HTML, CSS, and JavaScript for Web Development
 
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
SPS Monaco 2017 - The Lay of the Land of Client-Side Development circa 2017
 
Feature driven agile oriented web applications
Feature driven agile oriented web applicationsFeature driven agile oriented web applications
Feature driven agile oriented web applications
 
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience DiscussionBranding Wont Fix Crappy Content - SharePoint User Experience Discussion
Branding Wont Fix Crappy Content - SharePoint User Experience Discussion
 
Responsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparisonResponsive web design with various grids and frameworks comparison
Responsive web design with various grids and frameworks comparison
 
Publishing API documentation -- Presentation
Publishing API documentation -- PresentationPublishing API documentation -- Presentation
Publishing API documentation -- Presentation
 
Gettings started with Web development
Gettings started with Web developmentGettings started with Web development
Gettings started with Web development
 
Chalam_JAVA_Portal
Chalam_JAVA_PortalChalam_JAVA_Portal
Chalam_JAVA_Portal
 
Click here to download my CV in Word format.doc
Click here to download my CV in Word format.docClick here to download my CV in Word format.doc
Click here to download my CV in Word format.doc
 

More from Ryan Lou

Setting up communication channels
Setting up communication channelsSetting up communication channels
Setting up communication channels
Ryan Lou
 
Redefining your big idea
Redefining your big ideaRedefining your big idea
Redefining your big idea
Ryan Lou
 
Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...
Ryan Lou
 
Intro to Growth hacking
Intro to Growth hackingIntro to Growth hacking
Intro to Growth hacking
Ryan Lou
 
How startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you knowHow startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you know
Ryan Lou
 
Building products that solve human needs 101
Building products that solve human needs 101Building products that solve human needs 101
Building products that solve human needs 101
Ryan Lou
 
Building products that solve human needs
Building products that solve human needsBuilding products that solve human needs
Building products that solve human needs
Ryan Lou
 
Intro to lean startups
Intro to lean startupsIntro to lean startups
Intro to lean startups
Ryan Lou
 

More from Ryan Lou (8)

Setting up communication channels
Setting up communication channelsSetting up communication channels
Setting up communication channels
 
Redefining your big idea
Redefining your big ideaRedefining your big idea
Redefining your big idea
 
Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...Growth hacking - How marketing and product development has to work together f...
Growth hacking - How marketing and product development has to work together f...
 
Intro to Growth hacking
Intro to Growth hackingIntro to Growth hacking
Intro to Growth hacking
 
How startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you knowHow startup ecosystems affect your startup more than you know
How startup ecosystems affect your startup more than you know
 
Building products that solve human needs 101
Building products that solve human needs 101Building products that solve human needs 101
Building products that solve human needs 101
 
Building products that solve human needs
Building products that solve human needsBuilding products that solve human needs
Building products that solve human needs
 
Intro to lean startups
Intro to lean startupsIntro to lean startups
Intro to lean startups
 

Recently uploaded

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

Putting together a web app

  • 1. Putting together the pieces of a web app (http://bit.ly/shouldicode)
  • 2. It’s easy to get confused about how to build a web app
  • 3. It’s easy to get confused about how to build a web app But it shouldn’t be
  • 4. There’s so much to learn? PHP .net Codeignitor Java Javascript Ruby CakePHP Node.js Sinatra Rails Python Django See: www.bestwebframeworks.com
  • 5. Your choice of programming language could affect your circle of friends
  • 6. Layout the site User User User pins registration profiles Main feed Commenting Categories ‘Repin’ ‘Follow’ ‘Like’ Voices.com pinterest.com
  • 7. Wireframing • Draw out 4 pages (make copies) • Each ‘activity’ on the site should be completed in no more than 4 steps
  • 8. Wireframing E.g. Layout the profile page • Where everything should be • How to share files • What options users should have (Download audio files, create / edit / delete jobs)
  • 9. Wireframing E.g. Searching for voice talent • Where everything should be • What fields? – Affects models • How to display data • What user should do with the data See: http://blogs.voices.com/thebiz/2006/09/ web20_sketch_to_screenshot.html Or http://bit.ly/wireframevoices
  • 10. Wireframing (.PSD) Design the first user experience (or blank state) • What can the user do before they sign up? • What to show with no user data? Read: http://37signals.com/svn/archive s/000578.php Or http://bit.ly/37signalsblank
  • 11. Wireframing (.PSD) Think about how you present data • Masonry style • Unlimited scrolling / pagination • Customized content • Jquery/HTML5
  • 12. Wireframing (.PSD) Think about how you present data • Think about actions • Same page/ New page • What data to show • Fixed columns • Scrolling
  • 14. Get out of the building Cold calling Meet people Find collaborators
  • 15. What is Model View Controller (MVC) From: http://www.moock.org/lectures/mvc/ For Rails: http://betterexplained.com/articles/intermediate-rails-understanding- models-views-and-controllers/ (or http://bit.ly/railsmvc )
  • 17. Planning your database schema • Tables should represent real world things / events (user, invoice, books, follow, friend, message, comment) • Primary key (a column that contains unique values in a table – no dupes) (UserId, CommentId, UniqueURL) – can’t change (usually whole number) • Foreign keys (denote relationships) (one-to-one, one-to-many, many-to-many) Overview of designing your schema http://www.deeptraining.com/litwin/dbdesign/FundamentalsOfRelationalDatabas eDesign.aspx or http://bit.ly/dbschema
  • 18. What is an app? (May be Django Specific) • Avoid monolithic design • A simple app has 12 installed apps
  • 19. Use admin systems to CRUD data The beauty of Django is that early in the process, you can easily set up an admin system to start adding data. Helps you show your app is live and growing, albeit manually.
  • 20. Defining Model Methods • Is associated with behaviors – Is Chilean? (Address is in Chile, IP is in Chile, Geographic coordinates in Chile) – Is Mike_Arrington? (FirstName + LastName = Mike Arrington) – AllUserPins (Find all pins by UserId) – Is Paid User? (last successful invoicing date = this.month)
  • 21. View fields • Templates (nesting) • Multiple views (blocks of content) • Not just Http (json, pdf, xml, csv…) • Forms
  • 22. Focus on • Flexibility not Scalability • User experience not flashy elements • Reusability not specificity • Functionality not perfect code • MVP not full feature sets
  • 23. Read about • Responsive design • Lean UX • Agile development
  • 24. This presentation was given to a group of participants from Startup Chile. Ryan Lou Ryan@krawst.com To apply: Go to http://bit.ly/applysup Read: www.Validating.it