πͺ README.md en espaΓ±ol: README_ES.md
Search-Web50 is an implementation of the front-end for Google Search, Google Image Search, and Google Advanced Search. This project corresponds to Project 0 of Harvard University's course CS50's Web Programming with Python and JavaScript.
The goal of this project is to create a web interface that simulates Google's search functionality, allowing users to perform basic searches, image searches, and advanced searches using Googleβs GET parameters.
index.html
β Googleβs main search pageimagenes.html
β Googleβs image search pageadvanced-search.html
β Googleβs advanced search page
- Basic Search: Centered search field with rounded corners
- Image Search: Image-specific queries using the
tbm=isch
parameter - Advanced Search: Multiple search fields with specific filtering options
- "I'm Feeling Lucky": Button that redirects directly to the first search result
- "all these words" β Search for pages containing all these words
- "this exact word or phrase" β Search for this exact word or phrase
- "any of these words" β Search for any of these words
- "none of these words" β Exclude these words from search
- "numbers ranging from" β Numeric range
- "language" β Filter by language
- "region" β Filter by region
- "last update" β Filter by last update date
- "site or domain" β Search within a specific site
- "terms appearing" β Define where terms should appear
- "file type" β File type filter
- "usage rights" β Usage rights filter
- Responsive Interface: Layout adapts to different screen sizes
- Intuitive Navigation: Navigation links in the upper-right corner
- Google-like Aesthetics: CSS mimics the look and feel of Google
- Dropdown Menu: Functional configuration dropdown
- Semantic Tags: HTML5 structure with proper semantic markup
- SEO Optimized: Complete meta tags for better indexing
- Custom Favicon: Google-like icon for visual identity
- Open Graph Cards: Engaging previews for social networks (Instagram, Facebook)
- Twitter Cards: Optimized sharing for Twitter
- Complete Meta Tags: Charset, viewport, description, keywords, author
- Descriptive Titles: Specific and informative titles per page
Search-Web50/
βββ index.html # Main search page
βββ imagenes.html # Image search page
βββ advanced-search.html # Advanced search page
βββ css/
β βββ style.css # Projectβs CSS styles
βββ js/
β βββ script.js # JavaScript functionality
βββ images/
β βββ search.png # Screenshot of main search page
β βββ images.png # Screenshot of image search page
β βββ advance.png # Screenshot of advanced search page
β βββ google_icon.ico # Project favicon
βββ README.md # This file
- HTML5: Semantic structure using modern tags
- CSS3: Responsive styles and modern design
- JavaScript: Interactive functionality and form handling
- Font Awesome: Interface icons
- Google Fonts: Roboto and Source Code Pro typography
- Charset UTF-8: Universal character encoding
- Viewport: Mobile device optimization
- Description: Page-specific meta descriptions
- Keywords: SEO-relevant keywords
- Author: Project author information
- Robots: Indexing and crawling directives
- og:type: Content type (website)
- og:title: Social media optimized titles
- og:description: Appealing sharing descriptions
- og:image: Screenshots used as previews
- og:url: Page-specific URLs
- og:site_name: Project name
- twitter:card: Summary card with large image
- twitter:title: Twitter-optimized titles
- twitter:description: Twitter-specific descriptions
- twitter:image: Twitter preview images
The project uses the following GET parameters to interact with Google:
q
: Main search querytbm=isch
: Image search modebtnI
: "I'm Feeling Lucky" buttonas_q
: "all these words"as_epq
: "this exact word or phrase"as_oq
: "any of these words"as_eq
: "none of these words"as_nlo
/as_nhi
: Numeric rangelr
: Language filtercr
: Region filteras_qdr
: Last updateas_sitesearch
: Site or domainas_occt
: Terms locationas_filetype
: File typeas_rights
: Usage rights
Primary search interface with centered input field
Dedicated Google image search interface
Full advanced search interface with multiple filtering options
- Clone or download the project
- Open
index.html
in your web browser - Run searches using any of the three available pages
- Navigate between pages using the upper-right corner links
This project meets all the requirements defined by CS50 Web Programming:
- β Minimum of three pages (index.html, imagenes.html, advanced-search.html)
- β Navigation links in the top-right corner
- β Centered search field with rounded corners
- β "Google Search" button centered below the search field
- β Functional image search feature
- β Four main advanced search input fields
- β Advanced search fields left-aligned and vertically stacked
- β "Advanced Search" button styled in blue with white text
- β Functional "I'm Feeling Lucky" button
- β CSS mimicking Googleβs visual style
- β Full meta tags for improved indexing
- β Custom favicon for branding
- β Descriptive and specific page titles
- β Optimized descriptions for search engines
- β Open Graph cards for Instagram and Facebook
- β Twitter Cards for Twitter sharing
- β Appealing preview images
- β Page-specific URLs
- β Viewport optimized for mobile devices
- β UTF-8 encoding for special characters
- β Robots control for indexing
- β Clear authorship information
- Course: CS50's Web Programming with Python and JavaScript
- University: Harvard University
- Instructors: Brian Yu and David J. Malan
- Original Project: CS50 Search Project
This project is part of the CS50 Web Programming course and is intended for educational purposes only.
Developed as part of Project 0 for CS50 Web Programming with Python and JavaScript